An Agent That Teaches Itself My Web App

I build software with an AI agent, which raises an obvious question: who tests the software? Not me — I have a day job. So I built the thing that tests it by itself: an agent that learns my web application the way a curious human would, by clicking around, trying things, and remembering what happened. Then it reports bugs.

At a glance

The idea

Most automated testing is brittle: scripts that know where a button is, and break when the page changes. I wanted something that behaves like a new employee on their first day — it doesn't know where anything is, it explores, it notices when something breaks, and it gets better every day it works here. Concretely, each night the agent spawns two copies of my app in a sandbox, and plays episodes: it looks at the page, picks an action, acts, and observes what changed.

What makes the learning stick is the memory. Every page it visits becomes a state; every action that changes the page becomes an edge. After a few nights it has a map of the whole application — which pages exist, what each button does, which paths lead somewhere new. Exploration is steered by novelty: pages it has already mapped score zero, so its attention naturally drifts toward the parts of the app it doesn't know yet.

What it has learned so far

Live numbers

Separate from exploration, it gets missions with machine-checkable success conditions — for example “create a unit on the map” is verified by querying the database for the resulting row. An LLM that wants a reward will happily believe it succeeded; the postcondition check is what keeps it honest.

Mission scoreboard

TaskScripted policyLLM policy
aStand up a unit and place it on the mapdone (scripted + agent)done (agent)
bResolve turn state and submit the other side's movedone (scripted)open
cFlip a hidden feature toggledone (scripted)open (digest fix pending)
dCreate an article, then correct itdone (scripted + agent)done (agent)
eSnapshot the game statedone (scripted + agent)done (agent)

Bugs it found on its own

This is the part I didn't expect to work. Nobody told it what to look for — it just notices when reality disagrees with expectation:

What it taught me

What's next

Built October 2026. The app under test is my own; the agent runs only in sandboxes on my local network, and this page shows only what I chose to publish.