C-TPO

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.

The eras

  1. 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

  2. 1,294 days

    Quiet

    Three and a half years without a single change.

    0 changes

  3. 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

  4. 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.

Changes (commits)Every saved change, added up.
By handWith Claude12525003½ yrsMar 22, 2023Oct 17Oct 12, 2026Mar 22, 2023: 4 commitsMar 23, 2023: 7 commitsMar 24, 2023: 10 commitsMar 26, 2023: 11 commitsMar 27, 2023: 16 commitsMar 28, 2023: 18 commitsOct 12, 2026: 45 commitsOct 13, 2026: 95 commitsOct 14, 2026: 160 commitsOct 15, 2026: 161 commitsOct 16, 2026: 163 commitsOct 17, 2026: 176 commits176
Lines of codeNon-blank lines in the site and its scripts.
By handWith Claude5,00010,00003½ yrsMar 22, 2023Oct 17Oct 12, 2026Mar 22, 2023: 2,011 linesMar 23, 2023: 2,137 linesMar 24, 2023: 457 linesMar 26, 2023: 453 linesMar 27, 2023: 626 linesMar 28, 2023: 698 linesOct 12, 2026: 990 linesOct 13, 2026: 2,028 linesOct 14, 2026: 3,215 linesOct 15, 2026: 3,506 linesOct 16, 2026: 3,822 linesOct 17, 2026: 4,886 lines4,886
Words on the siteThe page copy and the writing, all versions. Legal pages not counted.
By handWith Claude10,00020,00003½ yrsMar 22, 2023Oct 17Oct 12, 2026Mar 22, 2023: 196 wordsMar 23, 2023: 344 wordsMar 24, 2023: 345 wordsMar 26, 2023: 352 wordsMar 27, 2023: 453 wordsMar 28, 2023: 452 wordsOct 12, 2026: 3,547 wordsOct 13, 2026: 7,436 wordsOct 14, 2026: 8,726 wordsOct 15, 2026: 8,937 wordsOct 16, 2026: 9,007 wordsOct 17, 2026: 9,387 words9,387
PagesPage templates, before the writing fills them in.
By handWith Claude12.52503½ yrsMar 22, 2023Oct 17Oct 12, 2026Mar 22, 2023: 0 pagesMar 23, 2023: 0 pagesMar 24, 2023: 3 pagesMar 26, 2023: 3 pagesMar 27, 2023: 5 pagesMar 28, 2023: 6 pagesOct 12, 2026: 11 pagesOct 13, 2026: 11 pagesOct 14, 2026: 12 pagesOct 15, 2026: 14 pagesOct 16, 2026: 15 pagesOct 17, 2026: 17 pages17
Pictures, videos and PDFsIn the site itself, not counting the originals kept offline.
By handWith Claude5010003½ yrsMar 22, 2023Oct 17Oct 12, 2026Mar 22, 2023: 8 filesMar 23, 2023: 9 filesMar 24, 2023: 9 filesMar 26, 2023: 9 filesMar 27, 2023: 9 filesMar 28, 2023: 9 filesOct 12, 2026: 20 filesOct 13, 2026: 32 filesOct 14, 2026: 42 filesOct 15, 2026: 42 filesOct 16, 2026: 42 filesOct 17, 2026: 45 files45
Changelog entriesEach change, and why. Started Oct 13, 2026.
By handWith Claude10020003½ yrsMar 22, 2023Oct 17Oct 12, 2026Mar 22, 2023: 0 entriesMar 23, 2023: 0 entriesMar 24, 2023: 0 entriesMar 26, 2023: 0 entriesMar 27, 2023: 0 entriesMar 28, 2023: 0 entriesOct 12, 2026: 0 entriesOct 13, 2026: 49 entriesOct 14, 2026: 107 entriesOct 15, 2026: 108 entriesOct 16, 2026: 110 entriesOct 17, 2026: 123 entries123
Changes per dayHow fast, not how big. Some days the work went in as a few big commits, so the quieter days undercount.
By handWith Claude5010003½ yrsMar 22, 2023Oct 17Oct 12, 2026Mar 22, 2023: 4 changesMar 23, 2023: 3 changesMar 24, 2023: 3 changesMar 26, 2023: 1 changesMar 27, 2023: 5 changesMar 28, 2023: 2 changesOct 12, 2026: 27 changesOct 13, 2026: 50 changesOct 14, 2026: 65 changesOct 15, 2026: 1 changesOct 16, 2026: 2 changesOct 17, 2026: 13 changes65

What made each spurt possible

  1. Mar 22, 2023 The first version, by hand: HTML, then gulp and Nunjucks
  2. Oct 12, 2026 Claude joins. Libraries upgraded, a writing site instead of a services site, hosted on Vercel
  3. 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
  4. Oct 14, 2026 Videos and one-page take-homes. Publishing to YouTube from one command
  5. Oct 15, 2026 The first agent: the WhatsApp switchboard files my ideas. Notes posted from my phone to the site and Bluesky
  6. Oct 17, 2026 Arts and crafts, and this page
  7. NextAgents across the whole process, starting with the parts already done longhand.
See the numbers as a table
DayChangesLines of codeWordsPagesPiecesMedia filesChangelog
Mar 22, 202342,0111960080
Mar 23, 202372,1373440090
Mar 24, 2023104573453090
Mar 26, 2023114533523090
Mar 27, 2023166264535090
Mar 28, 2023186984526090
Oct 12, 2026459903,547110200
Oct 13, 2026952,0287,4361183249
Oct 14, 20261603,2158,72612842107
Oct 15, 20261613,5068,93714842108
Oct 16, 20261633,8229,00715842110
Oct 17, 20261764,8869,38717845123

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.

For people short on time

TL;DR

Matt thinks out loud here about technology, mostly how teams decide what to build, fix and protect.

The first series argues that security gets better fastest when the teams that each hold part of the answer share it earlier. Part 2 says most critical findings aren't: seven questions tell you which, and the answers live with other teams. Clay first, chisel later is about roughing out the whole thing before polishing the parts.

Every piece says how much AI helped, and the site changes in the open. The discussion happens on LinkedIn.

Start with Part 1 →
AI score 2/4 me. Idea 1.5/2 · Words 0.5/2. AI drafted these from what's on the site; I haven't rewritten them yet

Updated October 14, 2026. A TL;DR for the whole site, by reader, is an idea by Matt at ctpo.io. Copy it freely, just link back.