Skip to content

Workshop

Tools I built for myself

Tools I built for my own use, with AI. None of them is for sale, and every screen here shows made-up data.

Gram Ledger

A one-page food tracker: one verdict for the day, four figures, and what to do next.

Built with: One HTML file, Claude Code

JARVIS Voice and the Command Center

A push-to-talk voice assistant that answers questions about my notes and tasks out loud, and a dashboard of every project's next step, rebuilt from the same notes.

The Command Center on made-up data: the next step across the top, a card for each of five invented projects with its progress and one number, and the Do, Answer and Confirm lists below.

Demo data. Captured 29 September 2026.

Where AI helped

  • Its own code uses no npm packages: plain Node.js, ffmpeg for the microphone, and the Claude command line as the brain.

Where AI got it wrong

  • For five days every answer was the same apology: the assistant's own Claude login had expired, and nothing said so. It now names the failure instead.
  • An evening's conversation was filed under the next day's date, because the date was taken in UTC rather than local time.

Built with: Node.js, with no npm packages, ffmpeg for the microphone, edge-tts for the voice, Claude as the brain, Claude Code

The Studio

A local studio that turns a long screen recording into clips, captions, a long video and thumbnails, and names the one next step each day. Nothing it makes uploads by itself.

Where AI helped

  • Four working rooms in one local app, with its own test suite, built with Claude Code.
  • A second model (Codex) audited it and found real faults, now fixed: a render replaces a file only once it is checked.

Where AI got it wrong

  • It shipped with every save route open to any web page; they now refuse other origins.
  • Speech-to-text mishears brand names, so a fixed word list corrects each transcript.
  • Its caption lines start up to half a second before their words, and placing words by time put the wrong words on screen. Words are now matched by text.
  • Its mock mode once said it was a mock while writing to the real data folder.

Built with: Node.js, ffmpeg, whisper.cpp, HyperFrames, Claude Code

Paper Trail

A private money tracker: each month's bank and card statements read into one ledger that has to balance to the penny.

Built with: Claude Code