Behind the site
How the site grew
The same site, measured a few different ways, at the end of every day it changed. Nothing much happened without AI. Then a lot happened with it. The next spurt should come from agents, but only for the parts I've already done by hand. Do it longhand first.
Counted from the site's own history, so it can't flatter itself. Last measured Oct 17, 2026.
- Changes (commits) 176 ×9.8 since 2023
- Lines of code 4,886 ×7.0 since 2023
- Words on the site 9,387 ×21 since 2023
- Pages 17 ×2.8 since 2023
- Pictures, videos and PDFs 45 ×5.0 since 2023
- Changelog entries 123 from zero in 2023
The eras
-
Mar 2023 · 6 days
By hand
Built on a few evenings: plain HTML, then gulp and Nunjucks templates. A services site nobody asked for.
18 changes
-
1,294 days
Quiet
Three and a half years without a single change.
0 changes
-
Oct 2026 · 6 days so far
With Claude
Claude as a sparring partner and builder. I decide, it drafts and builds, we argue.
158 changes
-
Coming
With agents
Next: agents doing parts of the process, once it has been done longhand first.
Watch this space
Size over time
Each dot is the end of a day the site changed. The break in each chart is the three and a half quiet years. Hover or tap a dot for the number.
What made each spurt possible
- Mar 22, 2023 The first version, by hand: HTML, then gulp and Nunjucks
- Oct 12, 2026 Claude joins. Libraries upgraded, a writing site instead of a services site, hosted on Vercel
- Oct 13, 2026 Astro, Tailwind and MDX. The changelog in source control, checked on every commit. The roadmap. Versions for my mom and my kids
- Oct 14, 2026 Videos and one-page take-homes. Publishing to YouTube from one command
- Oct 15, 2026 The first agent: the WhatsApp switchboard files my ideas. Notes posted from my phone to the site and Bluesky
- Oct 17, 2026 Arts and crafts, and this page
- NextAgents across the whole process, starting with the parts already done longhand.
See the numbers as a table
| Day | Changes | Lines of code | Words | Pages | Pieces | Media files | Changelog |
|---|---|---|---|---|---|---|---|
| Mar 22, 2023 | 4 | 2,011 | 196 | 0 | 0 | 8 | 0 |
| Mar 23, 2023 | 7 | 2,137 | 344 | 0 | 0 | 9 | 0 |
| Mar 24, 2023 | 10 | 457 | 345 | 3 | 0 | 9 | 0 |
| Mar 26, 2023 | 11 | 453 | 352 | 3 | 0 | 9 | 0 |
| Mar 27, 2023 | 16 | 626 | 453 | 5 | 0 | 9 | 0 |
| Mar 28, 2023 | 18 | 698 | 452 | 6 | 0 | 9 | 0 |
| Oct 12, 2026 | 45 | 990 | 3,547 | 11 | 0 | 20 | 0 |
| Oct 13, 2026 | 95 | 2,028 | 7,436 | 11 | 8 | 32 | 49 |
| Oct 14, 2026 | 160 | 3,215 | 8,726 | 12 | 8 | 42 | 107 |
| Oct 15, 2026 | 161 | 3,506 | 8,937 | 14 | 8 | 42 | 108 |
| Oct 16, 2026 | 163 | 3,822 | 9,007 | 15 | 8 | 42 | 110 |
| Oct 17, 2026 | 176 | 4,886 | 9,387 | 17 | 8 | 45 | 123 |
How it's measured: a script walks the git history and counts what was in the site at the end of each day. Lines of code skip blank lines. Words count the copy on the pages and the writing, including the versions for kids and for my mom; until Oct 13, 2026 the pieces were pages themselves. Legal pages are left out (in 2023 one was a 5,000-word template). Nothing is estimated. The script is scripts/growth.mjs, and it runs again whenever I want a fresh count.