← All work

Web · Anthropic Ralph Loop · HTML · CSS · JS

SE Ralph Loop — Space Explorer

A test of Anthropic’s autonomous “Ralph Loop” pattern — an agent works through a PRD one story at a time and ships an interactive Space Explorer site for kids. Hosted on Netlify.

Live
Hosted on Netlify
Autonomous
Built by Anthropic’s Ralph Loop
PRD
Story-driven, agent-shipped
View the live site
More below

The brief

A different kind of personal project — not really about the artefact, more about the process. I wanted to test Anthropic’s “Ralph Loop” pattern end-to-end: a single autonomous coding agent (named Ralph) works through a product-requirements document one story at a time, runs its own quality checks, commits as it goes, documents its own learnings between iterations, and keeps going until the whole PRD is marked done.

I gave Ralph a kid-friendly spec for a space-exploration site and turned the loop loose.

What got built

Space Explorer — an interactive site about the solar system, planets, and missions, designed for kids. Plain HTML/CSS/JS, no framework. Hand-tooled responsive design. Continuously deployed to Netlify on every push to main.

Pages include a home/hero, a planet explorer (with individual planet pages under /planets/), a solar-system overview, a missions log, and a challenges page.

What I was really testing

The Ralph Loop scaffolding itself:

  • A prompt.md instructing the agent on its workflow — read state, pick the next pending story by priority, implement, typecheck, lint, test, commit, document.
  • A prd.json defining stories in priority order with status tracking (pendingin_progressdone).
  • A progress.txt where the agent records learnings between iterations so future iterations don’t re-discover the same patterns.
  • A simple shell driver (ralph.sh) that runs the agent in a loop until all stories are marked done.

The actual site is the artefact, but the experiment was the process — how reliably can a single autonomous agent take a PRD and ship a real, deployed site?

What I learned

  • Story scoping matters enormously. Loose stories produce drift; tight ones produce shipped features.
  • Persistent learning files are load-bearing. progress.txt and per-codebase pattern docs (AGENTS.md) keep the agent from re-discovering the same shape every iteration.
  • Quality gates are the agent’s reality check. Without typecheck / lint / tests in the loop, the agent will happily run forever on broken code.
  • Deployment automation closes the loop visibly. Pushing the artefact (Netlify auto-deploys from main) means each iteration produces something you can actually click on, not just a passing test suite.

Got a similar problem to solve?

Tell me what you’re working on. One day’s turnaround on a first response.

Start a conversation →