How we built this
Tokens used
Totals are measured from each tool’s own logs: new input plus output. Re-read cached input is left out for all four. The work log below records what each session did; its token cells are earlier estimates.
| Model | Approx. tokens |
|---|---|
| Claude Opus 5.5 | 1,454,504 |
| Grok 4.7 | 1,851,280 |
| Codex gpt-6-astra | 972,935 |
| Claude Fable 5.1 | 294,234 |
| Date | Work | Model | Approx. tokens | Notes |
|---|---|---|---|---|
| 2026-10-09 | Repo scaffold, brief captured | Claude Opus 5 | ~40k | Setup only, no app code |
| 2026-10-10 | Course design: two rounds of questions, design approved, spec written | Claude Opus 5.5 | ~80k | Spec only, no app code |
| 2026-10-10 | Task 4: site shell, container | Codex gpt-6-astra | ~103k | Codex "tokens used"; 2.6M input incl. 2.5M cached |
| 2026-10-10 | Task 4 review: Grok review, Codex fixes | Codex gpt-6-astra | ~71k | Grok grok-4.7 review tokens logged at session close |
| 2026-10-10 | Task 5a: pages 0 to 3, sources directory, link checker | Codex gpt-6-astra | ~102k | Sources list drafted by Grok grok-4.7; links verified by Claude |
| 2026-10-10 | Component layout fixes and Playwright assertions | Codex GPT-6 | Unavailable | Session token meter not exposed; build passes, Chromium launch blocked by sandbox |
| 2026-10-10 | Task 5: inflation lesson, charts, and tests | Codex GPT-6 | Unavailable | Subscription tool: Codex; session token meter not exposed. Playwright tests written first; Chromium launch blocked by sandbox. |
| 2026-10-10 | Task 5b: Example A page, memo | Codex gpt-6-astra; Grok grok-4.7 (shared) | ~72k Codex | Memo by Grok, numbers checked by Claude |
| 2026-10-10 | Pages 6, 7, teacher guide; simple app built from student prompt by Grok and Codex | Codex gpt-6-astra; Grok grok-4.7; Claude Opus 5.5 (shared) | ~150k Codex | Teacher guide written by Claude; both apps verified in a browser |
| 2026-10-10 | Page 9: build writeup and token tables | Codex gpt-6-astra | ~56k | Codex "tokens used" |
| 2026-10-10 | AI feature cards component | Codex gpt-6-astra | ~47k | Codex "tokens used" |
| 2026-10-10 | Task 7: Example B page, explorer, shock.js | Codex gpt-6-astra | ~103k | Codex "tokens used"; exposure data provisional |
| 2026-10-10 | UI density pass (WTH standards) | Codex gpt-6-astra | ~55k | Codex "tokens used" |
| 2026-10-10 | Start page: 8 free AI chats; sources collapsed by group; generic chat copy | Grok grok-4.7 | Unavailable | Grok session meter not exposed |
| 2026-10-10 | Validation of both, test updates, three copy/CSS fixes | Claude Opus 5.5 | ~60k | Estimate |
| 2026-10-10 | Remove start-page sample prompt | Claude Opus 5.5 | ~5k | Estimate |
| 2026-10-10 | Inflation chart picker: "All countries muted" to "All countries" | Claude Opus 5.5 | ~3k | Estimate |
| 2026-10-10 | Move Example A "Try it yourself" to its own nav page | Claude Opus 5.5 | ~25k | Estimate |
| 2026-10-10 | GitHub Actions test workflow | Claude Opus 5.5 | ~8k | Estimate |
Token counts are each tool’s own report; cached input is excluded where the tool reports it.
How we built it
- We read the brief and agreed the design in conversation.
- We wrote a spec and a plan.
- We pulled IMF and UN Comtrade data once and pinned the files with checksums, so changes can be detected.
- Three AIs, Grok, Codex and Claude, computed every figure independently from the raw files. A script compared their answers. Nothing shipped until they agreed.
- Codex built the site, Grok reviewed the code, and Claude tested every page in a real browser.
- We pasted a student prompt unedited into two AIs to build the simple app.
- We hosted it as a static site in a small container behind nginx, with HTTPS.
- We checked every link live.
- A teacher runs each step on a free account before its badge changes from pending test.
What the paid tools added that free ones would not
- Long sessions editing many files together.
- Running code and tests throughout the build.
- Checking each other’s work across the whole project.
Try the same yourself on free tools
Start with page 6: Build a simple app, then follow page 7: Build your own website.