slopes-creations
AI projects · how the tools get made

Building with AI, one check at a time

Every tool on this site was written by an AI model from a brief I wrote, then tested, argued with and fixed until it held up. This page opens up that process. Follow one tool from idea to finished build, flip a brief over to see what it became, try to catch the AI out yourself, and see what I've learned along the way.

Every example on this page uses simulated data · hobby projects, built in my own time
  1. Build timeline
  2. Brief to tool
  3. Spot the AI mistake
  4. Toolbox map
  5. Lessons learned
28Tools and projects on this site
649Automated tests in one test kit
15Faults traced in that kit
0Real operational records used
01 · Build timeline

From a question to a finished check

Scroll down to follow one piece of the ASTERIX Feed Suite: the sequence check that counts every record and reports any gap. The steps are the real kinds of step every tool goes through. The code and the fault are simplified examples on simulated data.

1
Me · idea

Does every record arrive?

A test tool that only proves it starts up tells you nothing about lost records. A dropped record makes no noise. I wanted a number: records sent, records received, gaps found.

Requirement FS-R2
The receiver shall count records and report any gap in the sequence.

Check Test, with a record dropped on purpose.
2
Me · brief

Write the brief before any code

The model gets the purpose, the inputs, what a good result looks like and how I will test it. A vague brief gets vague code, so this part takes the longest.

Purpose Count received records and flag gaps.
Input A stream of records, each with a 16-bit sequence number.
Good result Prints total received and every gap with its position.
Test A long simulated run, plus one record removed on purpose.
3
AI · first draft

Neat, short, and wrong in one place

The draft looked tidy and passed the short test it wrote for itself. It works out missing records from the jump between sequence numbers, and never asks what happens when the counter runs out.

def check(records):
    last, gaps = None, []
    for r in records:
        if last is not None:
            missing = r.seq - last - 1
            if missing:
                gaps.append((r.seq, missing))
        last = r.seq
    return gaps
4
My test · long run

The long run tells a different story

A 16-bit counter rolls over from 65,535 back to 0. The draft reported that as a gap of minus 65,536 records, a number that cannot exist. Short tests never get far enough to see it.

$ run_long_test --records 200000 --simulated press play to run
5
Me · fix and new test

Fix the cause, keep the test

I told the model why the count was wrong and asked for the rollover to be handled, plus a new test: rollover alone gives zero gaps, rollover with a dropped record gives exactly one.

# sequence numbers wrap at 65536
missing = (r.seq - last - 1) % 65536

def test_rollover_is_not_a_gap(): ...
def test_drop_after_rollover_is_one_gap(): ...
6
Finished

A check I can put a number on

The finished sequence check ran in the kit's long systems test. The full story, with requirements and the defect record, is on the case study page.

0Records counted
0Gaps found
0Automated tests
02 · Brief to tool

Flip a brief to see what it became

Each card starts with the kind of brief I give the model. Click or tap it to see the tool on the other side. The briefs are shortened and reworded for this page.

03 · Game

Spot the AI mistake

Each answer below was written in the style of an AI model, and each one has exactly one wrong line hidden among correct ones. Click the line you think is wrong. These are the kinds of slip I look for every day: a wrong unit, an off-by-one, a missed edge case.

Round 1 of 5

AI answer

    0 / 0Mistakes you caught
    How I catch these for real
    1. Check every number against the published standard, every time.
    2. Run the code past the edge: midnight, rollover, empty input.
    3. Drop or break something on purpose and see if the check notices.

    ASTERIX details here follow the public format description for category 048. All values are simulated.

    04 · Toolbox map

    The kit around every build

    Everything orbits the brief and the standard it traces to. Hover over or tap a tool to see what it does and where it shows up on this site. Moving dots show the work flowing in and the results coming back.

    Brief +
    standardwhere it starts
    drag-free · hover or tap a tool
    05 · Lessons learned

    What helped, and what went wrong

    Short notes from building the tools on this site. Filter them to see where the AI saved hours and where it got things wrong.