What I've been building
Every entry below was written by a Claude agent from that day's commits, prompts and session notes.
21 August 2026
-
Dictate a story instead of typing it
Capturing a story now works by voice, aimed at the phone typing that was the slowest part of writing one down.
- You can now tap the mic in the chat composer and speak your story, watching a live timer count up to a two minute cap, instead of typing it.
- The mic is also on the first capture screen, the blank box where you start a story, which is where speaking saves you the most.
- While recording you get three choices: throw the audio away, drop the words into the draft to edit, or send them straight away.
- Fixed cancelling a recording that carried on anyway, a mistapped button sending instead of opening a draft, and text typed while speaking getting lost.
-
Read a model comparison run on a screen
The tool for comparing language models gained a screen for reading a finished run, where before the only view was raw JSON or a spreadsheet.
- You can now read a comparison run on one screen and set how much quality, speed and cost each matter, so the ranking updates live.
- Tapping a model’s name lights it up in every chart at once, so you can follow one model across all the measures.
- A link now captures the run, the chosen scenarios and the weights, so you can send someone the exact view you are looking at.
- You can now export a run as a standalone one-page file, so you can share the ranking or reopen it later.
- Every screen now carries the same header, so you are always one tap from the run, judging and results screens.
- The judging screen is easier over a long sitting, with answers in a readable font, keyboard shortcuts to vote, and the lead-up conversation collapsed.
- Fault chips now sit in a row per answer, so a note like “too long” is recorded against the answer that earned it.
- The run log now scrolls to follow its newest lines, unless you scroll up to read, so you can watch a run without chasing it.
- A run hitting a per-minute rate limit now pauses and waits, then finishes, instead of racing to a false “complete” with calls missing.
- You can now retry a run’s failed calls with a button, so a run stopped partway finishes without editing the database by hand.
- Fixed vote buttons hidden under the phone home bar, a judging screen stuck on an empty queue, a misplaced scenario picker, and other small glitches.
-
Tidying the tooling behind the update log
None of this changed anything on the site; it was internal work on how the update log gets put together, plus one documentation correction.
-
Behind-the-scenes work to power voice dictation
Internal plumbing added speech-to-text as a third paid service behind the gateway, with daily spend caps that hold whatever an upload turns out to cost.
-
Deploys now set up their own database changes
Nothing looks different in any app; the day went to deploy tooling, build-cost cleanup and internal rules.
- Deploys for three services now apply their own database changes, so a feature can’t go live against a table that was never created in production.
- Some build automation was removed or tightened to stop wasted minutes, with no effect on how any app builds or deploys.
20 August 2026
-
New chart building blocks for the design system
Work went into the shared design system that other apps build on, adding two chart shapes, a colour set for charts and a slider, with nothing you can see yet.
-
Sign in to the eval tool, no more shared password
The way into the tool changed, results became downloadable, and groundwork went in for holding more than one comparison.
- You now sign in to reach the tool with your own account, instead of pasting a shared password everyone had to remember.
- You can now download every answer, the judgements, and the last test pass as CSV files, so results open in a spreadsheet without database access.
- The tool now stores each comparison as a named run kept alongside the others, groundwork for a results screen that is still coming.
-
The update log now files shared work under the right project
None of this changes an app you use; it is tooling behind the update log, with two August days re-published to match.
- Work on a shared building block now appears under the app it was made for, where before it could be filed under the wrong project.
- A project’s first entry now reads as a launch announcement introducing the thing, rather than a list of changes to something you’ve never seen.
-
New rules for how the build log and new projects get written
The guide for writing these build log entries gained new lead examples and sample entries, so entries stop opening the same way. The new-project process now calls for an adversarial code review before any plan that changes a database holding the only copy of real data.
19 August 2026
-
Compare language models on an app's own real inputs
Model eval is a new tool for deciding whether to switch the language model behind an app’s feature, before betting the feature on it.
- It pulls real inputs from the app’s own database, so each model is tested on the real messages it would actually face, not invented ones.
- It runs the whole comparison from a web page on any device and saves each result as it lands, so closing the tab loses nothing.
- It records how fast and how expensive each model is, timing the whole answer and keeping the provider’s own charge.
- Quality is judged blind, two answers side by side, so the person who wrote the prompts can’t favour the model already in use.
- You can start judging while the run is still going, rating whatever pairs are ready instead of waiting an hour for the calls.
- The conversation so far sits beneath the two answers, so a reply can be judged against what was actually said.
- Signing in with a Cloudflare account guards the saved conversations and the two endpoints that spend money on model calls.
-
See recent writing on the homepage
The homepage now carries writing beside projects, which its opening line had promised since it was written.
- You can now see the newest writing posts on the homepage under Projects, so you reach them without opening the header menu.
- New posts appear there on their own once published, and the section hides when nothing is live, so no empty heading ever shows.
- The internal deploy dashboard now tracks the model-comparison tool and can deploy it with one button, where before that meant running commands by hand.
-
A hook now silences a false warning about unpushed commits
Set up a session hook to stop a false warning about unpushed commits, and added guidance for the model-comparison tool and file handovers.
18 August 2026
-
Real conversation data saved to compare AI models offline
The app’s real capture conversations were exported so different AI models can be compared against genuine inputs rather than invented examples.
-
Read the anecdote case study on the site
Anecdote’s case study is now published on the site, where before it was finished but hidden from readers.
- The case study opens with four phone screenshots and a before-and-after diagram, so you can see the app rather than only read about it.
- Its entries in the update log now link through to the case study, where before they had no page to open.
- The agentic-coding article now links an open-source tool you can use to map your own setup, so you can build one yourself.
- Fixed the header logo sitting off-centre on phones, and a link in the article that pointed at the wrong page.
-
A step-by-step workflow for drafting articles
Most of the work went to the tooling and rules behind how these projects get written and published.
- A new workflow guides an article from audience interview to finished draft, keeping the author’s dictated sentences, so the process isn’t re-explained each time.
- One project’s public copy is now set up entirely in the browser, where before it needed a terminal to create a key.
- Fixed the UI review checklist and design rules not loading when editing Astro files, which had left those sessions relying on a written reminder.
17 August 2026
-
The site's first article is live, with a map you can explore
The portfolio now has somewhere to publish written pieces, and the first one has gone live.
- A new writing section now sits in the top navigation, so the site has a home for articles alongside the projects and update log.
- The first article looks back at four months of building nine web apps with AI, written for people who haven’t tried these tools.
- The article is built around an interactive map you can drag, zoom into and click to open the real file behind any node.
- Clicking a file name in the text walks the map open to that exact file, so you see the real thing instead of a description.
- You can open the map full screen, which gives a crowded diagram room to breathe, most useful on a phone.
- A contents list near the top lets you jump straight to the map or the getting-started steps without scrolling the whole piece.
- Fixed a page that lurched when clicking into the map, a header that overflowed on phones, cramped tables, dim map-panel text, and choppy map animation.
-
Stop the git check warning about work that's already merged
The work here was upkeep on the workspace itself rather than on any one project.
- The end-of-session git check no longer warns about branches whose work is already merged, so there’s no false alarm to second-guess.
- Switching to an out-of-date local copy of the code is now blocked, so your files can’t be silently rewound to an old version.
- The instructions Claude loads every session are shorter, following guidance that leaner instruction files get followed more closely.
- Fixed docs claiming a push to master deploys a preview, wrong icons on the setup map, and a check that named the wrong missing tool.
16 August 2026
-
The updates are now under "What's new"
The site’s navigation labels and the animation about how these updates get written both got attention.
- The build log is now called “What’s new” in the nav, on cards and project pages, so you know there’s something fresh to read.
- The header’s first link now reads “Projects” instead of “Work”, matching the built projects it sends you to.
- The updates page now opens with “What I’ve been building”, which stays true on a quiet week where “day by day” overpromised.
- The animation’s collect scene now shows real snippets of commits, file paths and diary lines flying into the file, instead of plain labels sliding in.
- The closing counter now shows the true total of entries written, dated to the newest one, instead of a number typed months ago.
- Fixed a scroll cue arriving late on the first scene, an opening that flew past too fast, and several uneven motion and ordering glitches.
-
Browse the setup map without dismissing panels
The setup map got easier to browse and read.
- Tapping a group now just opens it, and a second tap brings up its side panel, so browsing deep no longer means closing a panel at every level.
- The map now opens with one dot per project, so seeing everything about a project like planner-app is one tap instead of eight.
- Only the group you’re reading stays lit and tappable, so going several levels deep stays readable and a missed tap steps back instead of jumping elsewhere.
- The map no longer shows coles-mcp, which isn’t ready to be shown, and now lists the projects left off on purpose with a reason for each.
15 August 2026
-
Stop checking the drawings, keep checking the code
The build checks that read design mockups were removed, leaving the three that read real source code to catch the same faults where they can reach a person.
-
Stronger test checks on the reminders and sign-in code
The planner’s reminder and sign-in code got a tougher kind of test check, which closed two gaps where a test ran the code without ever checking the result.
-
Follow the build log animation more easily
The animation showing how the build log writes itself got a round of polish, along with the log page around it.
- Reading only the headings over the animation now walks you through the whole process in order, from your first instruction to the entry going live.
- The animation is easier to follow, with a slower opening scene, a scroll cue that appears partway through each scene, and larger headings on phones.
- Text under each entry on the log page is now brighter and more open, matching the rest of the site, so it no longer looks faded.
- Fixed a repeated intro fact, boxes jumping as text typed on phones, the scroll cue overlapping content, a wrong example app name, an overstated publishing line, and a sentence on the about page pointing at nobody.
-
An interactive map of the whole Claude Code setup
Most of the day went on a single page that draws the workspace tooling as dots and the links between them.
- You can now see every hook, skill, rule and script laid out with the links between them, and open any dot to its full source.
- The page’s drawing engine is now a reusable tool, so the same kind of map can be built for any set of files or services.
- Plans that touch money or login code now add an extra check that a test would actually notice if the code were wrong.
- The workspace instructions dropped rules that were duplicated elsewhere, and now describe the current TypeScript and Cloudflare stack instead of an old one.
- The design-system guidance no longer runs scripts against mock designs, since they checked things the real app code already checks on every commit.
- Registering a project for the backlog tool now creates its item folders too, so a logged item lands in the right project instead of another.