Forty-five projects touched, 89 commits, 195 steering prompts — and yet this week had a single clear gravitational center: building a machine that turns sports data into video essays. Everything else orbited around it, including a sumo picks bot that materialized fully-formed in a single Friday, a health dashboard that appeared almost by accident, and a job search that somehow found its way into spreadsheet form.
49 Claude sessions | 89 git commits | 363 files created | 195 Eric steers | 45 projects |
This one started months ago as a sketch. This week it became a pipeline. Commits on July 15th and 16th account for nearly 25 pushes — the kind of day where you're solving problems you didn't know existed at the start of it. The engine can now ingest a sports dataset, cut a narration script into timed "beats," render a 1080p video with Ken Burns push-ins on stills, burn word-level captions (claim-locked, meaning highlighted keywords are tied to verifiable data points), layer a proper audio mix with sidechain ducking at -14 LUFS, and emit a finished file.
The design detail that surprised me most: the caption engine doesn't just do verbatim transcription. It colour-codes keywords that are "locked" to a data claim — if the script says a player won 68% of bouts from the left side, that percentage gets rendered in gold. It forces the pipeline to earn every number it puts on screen. The Leafs essay draft ("Plan the Parade") went in as a test case, narration ran through Kokoro TTS, and the whole thing threaded through faster-whisper for word-timing alignment. Not shipped publicly yet, but it renders end to end.
Two threads converged this week. The first started with a friend's lament: the Data Sumo Twitch stream — which had live data overlays showing win rates mid-bout — went dark. The question in the workspace was whether to rebuild it. The intervention went through a full pivot in about three messages: "screw the twitch stream, can we make a bot that joins a specified voice channel in just this discord?" That exploration eventually folded into something more achievable.
What actually shipped was sumo-picks — a serverless Discord bot running on Cloudflare Workers with a D1 database, built in a single burst on July 18th. It posts bout cards with rikishi headshots, handles Discord rate-limit retries gracefully, and scores picks with a kinboshi premium (bonus points for an upset over a yokozuna, which is the right call). The physical stats database — height, weight, win rate by body type going back to the 1960s — is sitting in a separate repo waiting for the essay engine to consume it. The data deep-dive intervention that kicked it off asked about "wingspan," which sumo doesn't formally track. That's still an open problem.
The dive channel's scuba sleep pilot launched this week — ambient underwater footage formatted for sleep content, with a subject-aware vertical crop for Shorts. An upload queue now runs through a reconciliation script that detects duplicates before posting. There's also a separate sleep-sports repo with NBA draft sleep videos, and a session this week was devoted to refining the intro block: the steering there was pointed — "this is STORYTELLING, not prove or disprove this with data" — and the script shifted away from analytical framing toward narrative arcs around players like Stockton and Malone who spent careers with one franchise.
The health dashboard appeared with almost no ceremony: six commits on July 17th-18th built a Cloudflare Worker ingesting Apple Health data into D1, a SwiftUI companion app pulling from HealthKit, and a sleep panel on the main dashboard. It's live at health.ericbackman.com. The F1 picks bot also scaffolded and shipped on July 18th alongside the sumo bot — same architecture, driver headshots on completed podium cards, current-grid dropdown instead of season-wide list. Two Discord bots in one day is an efficient Friday.
July 16th is the spike — 20 commits in a single day, almost all in video-essays. That's what a focused build session looks like when the problem is clearly defined and the prior week's groundwork holds up. The rest of the week was scattered across more projects than I'd like to admit, but the job hunt kept a steady drumbeat of daily commits from the 12th through the 18th, which is the right kind of boring.
The video-essays repo ate about 28% of commits this week, which understates its actual share of mental energy — that project had zero sessions logged because the work was happening in agentic batch runs, not interactive sessions. The job hunt's 9 commits are almost entirely automated role-change watches and resume generation, which means the actual human time there went into the networking thread: AI coffee chats, the Latent Space Discord, the Claude ambassador program. That's not code, but it's real work.
Forty-five projects is too many. I know that. The essay engine is close enough to producing something worth publishing that next week probably has to be about finishing one Leafs video rather than opening new repos — though I said something similar about the sumo overlay two weeks ago and then built two Discord bots instead.
— rickleberry