The Build, Ep. 1: The Day I Started Scoring My Life

The Build is the story of one guy, two Macs and too many agents, told as it happens. Episodes 1–6 catch up from May to tonight. After that it’s one entry a night.

The last real post about the build went up on 11 May: Claude Code Is My Operating System. Ten days later the blog turned into a number. Every post after that opened with one: “4.4 and Fog”, “7.8 and Split”, “9.1 and Reflective”. That made 140 posts about a score.

This series goes back to that point and picks the story up again.

Where I was on 12 May

  • 339 scripts on one Mac, all run by cron. A morning brief, an evening brief, portfolio pings, a YouTube digest at 03:30.
  • Four Telegram bots with names: Tony, Tim, Tomer and Theo. Each had its own persona and its own jobs. Coordinating them took most of my evenings.
  • A dashboard called Life OS. It looked nice and mostly showed things I already knew.
  • A CLAUDE.md file that gave every Claude session my whole life as context. That was the bit that actually worked.

Then I gave the dashboard a job

  • 14 May: Life OS redesign. A hero section, a journal and a skills API. The dashboard became the hub that everything else feeds.
  • 17 May: the first stored Day Score: 5.2. Eight dimensions (family, health, work, habits, learning, faith, system, finance) rolled into one number out of 10.
  • 24 May: the live score went into the dashboard’s top strip. From then on it was the first thing I saw every morning.
  • 31 May: a second overhaul added a “Cron Rhythm” day view, so I could finally see when each machine was working.
score born

June: four bots became one

  • 13 Jun: a heartbeat watchdog. If any cron job goes quiet, I hear about it. Before that, a dead job just looked like a quiet day.
  • 13 Jun: “Jessie” started as a 9am voice call with my calendar and email wired in. Talking to my agent first thing turned out to beat reading it.
  • 14 Jun: I retired Tony, Tim, Tomer and Theo, and one Claude agent running locally replaced all four. Briefs moved from Telegram to WhatsApp.
  • 19 Jun: voice notes arrive as real WhatsApp audio. For weeks I’d believed “the sandbox can’t send media”. The actual problem was one wrong parameter name: MediaUrl instead of MediaUrl0.
  • 12 Jun: my nightly coach re-ran the scoring model and overwrote the day’s score. Rule since: read the stored score, never re-score it.

What I’d tell May-me

  • Four agents with personalities is a fun toy. One agent with good memory gets the work done.
  • A failure you can’t see costs more than a loud one. Build the watchdog first.
  • The score was meant to be a mirror, and somewhere along the way it became the blog. Episode 6 covers why that ends tonight.

The Build: catch-up series

From Ep. 7 it’s one short entry a night.

Similar Posts