PRTOTYPE.COM · Production studioAudit · Build · Maintain
PRoTOTYPE.COM

Case study · AI-directed build

Anyone can prompt a picture of Saturn. This one is where Saturn really is.

Jason Ensor directed Claude Code to build a live model of the Solar System in three days. Every planet, moon and comet sits where its orbit puts it on any day from 1900 to 2100, and 24 spacecraft fly their real paths. Five narrated programmes play through the live model. It runs in a browser at space.prtotype.com. This case study shows how the work was directed, and the system behind it.

Type
AI-directed web build
Directed by
Jason Ensor, PRTOTYPE.COM
Built by
Claude Code with three.js
Dates
24–26 Oct 2026
Status
Live · space.prtotype.com
Days
3
Saturday 24 to Monday 26 October
Messages from the director
45
Briefs, critiques, approvals and gates
Lines of JavaScript and CSS
13,935
Ninety-five source files
Unit tests
437
All passing, in thirty test files
Agents at once
7
Seven enhancements, briefed, built and merged in parallel

01The brief

A paragraph, then a spec.

The brief was one message: a JavaScript demonstration of the Solar System in 3D, with comets, planets and moons, a year running, a timeline and a zoom for a close look at any object.

Research if there are better prompts than yours.Sent five minutes before the build began.

Claude answered with a written build prompt rather than code: what the model must compute, how accurately, in seven milestones, with acceptance checks for each. Jason read it and said build it, milestone by milestone. The seven landed between 03:26 and 04:32 on the Saturday morning, each one tested before the next began.

One check could not be met as written. Claude said so, with the numbers, and asked for a corrected bound instead of quietly loosening the test.

  1. PhysicsEphemeris layer, orbital data and unit tests. No rendering yet.
  2. SceneSun, planets, orbit lines and the time controller.
  3. CameraTimeline, focus and fly-to, and a floating origin for solar-system distances.
  4. DetailMoons, rings, surfaces, Earth, eclipses and bloom.
  5. Small bodiesComets with tails, the asteroid and Kuiper belts, the star field.
  6. InterfaceInfo panel, label declutter, layers, keys and a design pass.
  7. Scale and speedScale modes, timeline events, the intro, quality presets, performance.
Time
Any moment from 1900 to 2100, at any speed
Positions
astronomy-engine (VSOP87), about 1 arcminute
Bodies
Sun, 8 planets, Pluto, Ceres, 16 moons, 5 comets, 7 asteroids
Spacecraft
24, each on its JPL Horizons path from launch
Sky
5,044 real stars to magnitude 6 and the 88 constellations
Narration
Five programmes, 86 chapters, two British voices

02The director

Forty-five messages, each one a decision.

Read in order, the messages that steered the build are a design review. They add what is missing, reject what looks wrong, send the work back to the data when the drawing lies, and hold the deploy until it is asked for.

  1. Gate

    “A3 bound approved. Start milestone 2.”

    A test the spec could never pass. Earth’s latitude was to stay within a flat 0.01°. Claude showed that the real limit grows by the century and proposed 0.002° plus 0.015° per century. Jason approved it before the next milestone. Measured worst case: 0.0132°.

  2. Add

    “Build an Explainer button that explains the Solar System in five minutes… an interesting adventure through the Solar System.”

    The Explainer: eighteen narrated chapters through the live model, from the Sun to the real scale.

  3. Review

    “Now suggest improvements that could be made.”

    “Build the tour callouts and per-chapter camera moves first.”

    Claude listed the options; Jason picked the order. Each chapter got its own camera move, and labels that point at real features: the Great Red Spot, the Cassini Division, Halley’s two tails.

  4. Check

    “Fix all eight mobile audit failures, then re-run the audit at 320, 375, 768 and 1024 px.”

    A phone pass with a re-test, not a promise: 44 px controls, 16 px text, a portrait field of view and an Explainer button that could actually be seen.

  5. Raise the bar

    “Now do a similar presentation for all the satellites that have been launched…”

    Twenty-four spacecraft on their JPL Horizons paths, Grand Tours and The New Telescopes as programmes, and neural British voices in place of the browser’s own.

  6. Critique

    “Some of the satellite paths seem to defy physics when they leave a planet’s gravity.”

    Paths redrawn as real Sun-centred arcs from afar, each probe given a likeness of the real spacecraft, and a deep-space opening that falls in to the Sun.

  7. Plan first

    “Plan first.”

    “Plan so Sonnet can implement this and you just check the work.”

    Seven written briefs, seven agents at once. Each built one enhancement on its own branch; Claude reviewed all seven, merged them and checked the result in a browser.

  8. Critique

    “It makes very tight turns when passing a planet… Check the information that underpins this and recheck.”

    Back to the data, not the drawing. Every path was corrected against the model’s own worlds and re-timed to UTC, and flybys were redrawn at their true shape.

  9. Add

    “Build the sky-from-a-planet view: stand on a chosen world, constellations, its celestial poles and horizon.”

    Stand on any planet or moon and look up: the constellations turned to its horizon, and the Sun, planets and moons labelled at their true size and phase.

  10. Critique

    “The rings don’t cast a shadow on the planet. Dropped labels just disappear; there are no leader lines pointing to them.”

    Three rounds of notes on the sky view, each answered with a commit: ring shadows, leader lines, labels placed on either side and never dropped.

  11. Ship

    “We need to deploy this to Little Billy… space.prtotype.com.”

    Live on the studio’s own server, deployed with its standard method and checked over HTTPS.

  12. Critique

    “The words for the Explainer are too central and impede the view somewhat.”

    “Mobile does not show the Explainers… did that get fixed?”

    The caption docks bottom-left and folds to a title strip once it has been read. A last fix put the Explainer button back within reach on phones.

Quotes are Jason's own messages from the session logs, with spelling tidied and some shortened. The rest are approvals, questions about what was left, and the instructions to push and deploy.

03The system

The system behind the direction.

Short messages only work when the agent already knows the rules. Jason built that operating system before this project began. It is why one person could run seven builders at once and still sign off every step that mattered.

117

Skills in the toolkit

jay-fleet, Jason's own plugin for Claude Code, with 20 subagents. This build called on pre-build-scout before building, update-progress to tick only tested work, session-closeout to write back what was learnt, and billy to deploy.

Written by Jason · 110 commits since June 2026
105

Project pages in memory

ClaudeOS keeps a page per project, a decisions log and a ledger of open placeholders, so a session picks up where the last one stopped instead of searching for it.

Read at the start of every session
7

Agents in parallel

For the Sunday enhancements Claude wrote seven briefs and handed each to a Sonnet agent on its own branch: screen-reader descriptions, the size line-up, light time, upcoming events, tonight's sky, real stars and the visited asteroids. It then reviewed and merged all seven.

Merged 20:19–20:20, Sun 25 Oct
29

Security reviews

An automatic security review read each change set as it was made, including the scripts that fetch data from NASA and JPL.

From the session logs, 24–26 Oct

How a request moves through it

  1. JasonBriefWhat it is for, in a paragraph
  2. ClaudeWrite the specMilestones and acceptance checks, researched first
  3. Gate · JasonApproveThe spec, its bounds, each milestone
  4. ClaudeBuild and testUnit tests with every milestone
  5. AutomaticSecurity reviewEvery change set read for vulnerabilities
  6. JasonReviewRaise the bar, critique, add
  7. ClaudeCheck and commitA real browser, then a local commit
  8. Gate · JasonPush and deployOnly on his word

Jason directsClaude buildsApproval gate

It is the same discipline PRTOTYPE.COM applies to client software: a written specification before the build, tests before anything is called done, and a person signing off every step that ships.

04The model

What the method produced.

01 / The model

Every position is computed.

Nothing is placed by hand. The planets come from astronomy-engine, the comets and asteroids from JPL orbital elements, the probes from JPL Horizons. Pick a date and the model shows that day.

  • A timeline from 1900 to 2100, from real time to a year a second
  • Readable or real scale, and a line-up at true sizes
  • Moon shadows, eclipses, and rings that shadow their planet
  • Click any world or probe for live distance, speed and light time
three.js 0.186astronomy-engineJPL Horizons
Earth · Tilt and city lights
3 March 2026 · The Moon in eclipse
Saturn · The Cassini Division
Line-up · True relative sizes
02 / The programmes

Five films, played live.

Each programme is a directed tour of the running model, not a recording. It moves the clock, flies the camera and labels what is on screen. Every line is narrated by a neural voice rendered offline and checked by transcribing it back.

Kokoro-82M86 narrated linesfaster-whisper check
May 2024 · The Sun in another light
1610 · Galileo’s moons
Voyager 2 · Uranus next, then Neptune
L1 · L2 · Where the telescopes work
ProgrammeWhat it coversChaptersVoice
ExplainerA five-minute tour, Sun to the real scale18Emma
The DiscoverersWho found which worlds, 1543 to 202018George
Grand ToursThe spacecraft that left home, Sputnik to 203517George
The New TelescopesWhere the great observatories work, to 204015Emma
Storms from the SunFlares, storms and the aurora, Carrington to Cycle 2518George
03 / Tools for looking

Stand anywhere and look up.

The sky from any world, with its own horizon, poles and constellations. The next twelve months of eclipses, oppositions and meteor showers. Tonight's sky for any city. A pulse of light sent from Earth that counts its own travel time.

5,044 stars88 constellationsScreen-reader descriptions
From Io · Jupiter overhead
Upcoming · Twelve months ahead
1986 · Halley’s two tails
Real scale · Where the planets shrink to points

05Claude's part

A builder that measures its own work.

Claude Code wrote every line, the tests and the data scripts. When a path looked wrong it wrote a probe to measure it, fixed the cause, and ran the probe again to prove the fix.

ModuleWhat it holdsLines
scene/Sun, planets, rings, comets, belts, stars, probes, the sky view5,366
ui/Timeline, panels, labels, programmes, the sky and tonight panels2,991
tour/The five programmes, their shots, captions and narration1,197
render/Materials, shaders, the Sun’s surface, bloom1,085
data/Bodies, comets, missions, meteor showers916
physics/Ephemerides, Kepler propagation, frames, light time673
time/The clock and the events on the timeline404
camera/Fly-to, follow and the floating origin245

Some of what it caught

  • Probes jumping between worlds. Voyager 2 leapt 75–111 scene units near Uranus where its path handed over from one world to the next. Claude checked every probe from every world it passes: 63 jumps before, none after.
  • Paths turning 439° a day. Saturn’s wide moon system kept claiming Cassini while it was 8 AU away. Flyby lenses replaced the contest; the sharpest bend in view is now 50° a day.
  • Voyager 1 turning too hard. Its Jupiter flyby was drawn as a 156° turn against a true 89°. No flyby now turns more than 17° off its real turn near a world.
  • Names said wrong. Claude ran every narration line back through speech-to-text, respelt the names the voice got wrong (Brahe, Le Verrier, Charon) and re-rendered them. Mean word error: about 2%.
  • An Explainer button nobody could see. A style clash left it dark text on a clear background. The mobile audit caught it.

06Limits

What still falls short.

  • Two centuries, no more.Positions are checked from 1900 to 2100. Discoverers chapters before 1900 show today’s sky and say so on screen.
  • The asteroids drift.Ceres, the comets and the visited asteroids use a two-body propagator, so they wander from their reference date: Vesta is about 2.3 million km out today.
  • Part of the Sun is generated.The named storms are placed where they were. Everyday sunspots and small flares are modelled, not observed, and granules are drawn about six times their real size so they can be seen.
  • Some worlds are painted, not mapped.Venus, Saturn, Uranus, Neptune and most moons have procedural surfaces; real spacecraft maps cover the rest.

Live now

See it running.

Fly to any world, run the clock from 1900 to 2100, play the five programmes, or stand on Io and look up at Jupiter. It runs in the browser, with nothing to install.

Direction
Jason Ensor, PRTOTYPE.COM
Agent
Claude Code, seven Sonnet agents, the jay-fleet skills
Rendering
three.js 0.186.1, WebGL, Vite
Positions
astronomy-engine 2.1.19, JPL Horizons
Narration
Kokoro-82M, checked with faster-whisper
Hosting
PRTOTYPE.COM’s own server

Figures from the project's git history, its test run, file counts, the session logs and the data sources listed in its README. NASA, JPL and USGS maps are public domain; star data © Olaf Frohn (d3-celestial, BSD).

The Solar SystemCase study · AI-directed web build · Directed by Jason Ensor · Built & sponsored by PRTOTYPE.COM · Written November 2026

Like what you see

Have a prototype that needs this discipline?

The Solar System went from one paragraph to a live, tested model in three days because every step had a spec, a check and a gate. PRTOTYPE.COM takes AI prototypes to production the same way: an audit, a written specification, a hardened build, then maintenance.

Fixed prices · Set against a written spec
Book a Production Consultation→