Writing

Field notes

Plain-language guides from things I've actually built with AI — what mattered, and why.

A seven-step rail — pitch, skeleton, core rule, playtest, story, senses, ship — with playtest and story marked as the steps where the game got good; none of the steps are code.A seven-step rail — pitch, skeleton, core rule, playtest, story, senses, ship — with playtest and story marked as the steps where the game got good; none of the steps are code.
Working With AIAugust 22, 2026

AI wrote every line of my game. These seven steps were mine.

The Pembroke File shipped as one 2,673-line file, and AI wrote all of it. What I supplied was seven decisions — and if you want to build a game like this, those are the transferable part. The how, the what, and the why of each step. None of them is code.

aigamesguideplaytesting
Read More →
Split card: the assignment — my résumé as an escape room — against what shipped: a stolen-diamond noir with the résumé cut, the same puzzles, and thirty-three prompts of which none were code.Split card: the assignment — my résumé as an escape room — against what shipped: a stolen-diamond noir with the résumé cut, the same puzzles, and thirty-three prompts of which none were code.
Build BreakdownAugust 21, 2026

I turned my résumé into an escape room — the game got good when I cut the résumé

I pitched my AI an escape room where reading my résumé is how you get out. Thirty-three prompts later, a stolen-diamond noir leads my site's arcade — and the résumé is gone. I never wrote a line of code. What I did instead turned out to be the actual job.

aigamesplaytestingshipping
Read More →
A review sheet listing two findings — the dashboard could see only one folder of articles, and it went down whenever the site did — stamped 'built inside what it watched'.A review sheet listing two findings — the dashboard could see only one folder of articles, and it went down whenever the site did — stamped 'built inside what it watched'.
Working With AIAugust 5, 2026

I built my site's dashboard inside my site — so it went down whenever the site did.

Six hours in, I had a working dashboard for my own site. Then I said the architecture was wrong and pulled it out into its own app. The mistake is one almost everyone makes on their first internal tool, and it only becomes visible after the thing exists.

architectureinternal-toolsai-nativeshipping
Read More →
Six blocks, one per failed run, five of them filled: five of the six failures reported success while an article sat stranded.Six blocks, one per failed run, five of them filled: five of the six failures reported success while an article sat stranded.
Working With AIAugust 3, 2026

My publish button worked on day one. Teaching the robot to press it took six failures.

I automated publishing my own articles. The code was written and tested in an afternoon. Getting it to actually work took a full day and six separate failures — five of which reported success. That last part is the whole lesson.

automationciverificationshipping
Read More →
A two-column comparison: a server, a cron host, a database and a monthly bill on one side; a script, a timer, a text file and $0 on the other.A two-column comparison: a server, a cron host, a database and a monthly bill on one side; a script, a timer, a text file and $0 on the other.
Build BreakdownAugust 3, 2026

My net-worth tracker runs daily with no server. I moved it without missing a day.

A daily job that records my portfolio, built from a scheduled task and a text file — no server, no database, no API keys. Then I had to move it to a new home without it missing a day, which turned out to be the more useful half of the story.

automationgithub-actionsno-servermigration
Read More →
A run log: a request with no session and no password returning 200 OK, 17,798 bytes and 43 tasks from a list assumed to be private.A run log: a request with no session and no password returning 200 OK, 17,798 bytes and 43 tasks from a list assumed to be private.
Working With AIAugust 2, 2026

Before writing about my dashboard, I checked it. My private task list was public.

I'd written a post about a tool I built. Before publishing it, I stopped to check whether anything it touched could be broken into — and found my own task list, personal items included, readable by anyone with the URL. The cause was a free-tier default that works the opposite way most people assume.

securitydeploymentverificationshipping
Read More →
A run log: the dashboard reporting the article published, the URL returning 404, and 52 passing tests that caught none of it.A run log: the dashboard reporting the article published, the URL returning 404, and 52 passing tests that caught none of it.
Working With AIAugust 2, 2026

My dashboard said the article was published. The article was returning a 404.

I built a dashboard to tell me what's live on my own site. For a few hours it confidently reported an article as published while that exact URL returned a 404 — and 52 passing tests never noticed. Here's why status boards lie in the direction you want to believe, and the habit that catches it.

aitoolingverificationshipping
Read More →
Three claims underlined in red, each labelled with what is wrong with it — invented source, asserted cause, no denominator — under the line three things in this are wrong.Three claims underlined in red, each labelled with what is wrong with it — invented source, asserted cause, no denominator — under the line three things in this are wrong.
Working With AIAugust 1, 2026

You don't get replaced for being slow at AI

The worry I keep hearing is 'AI is moving fast and I'm behind.' That's the fixable problem. The real risk is producing more than ever and not being able to tell when any of it is wrong. Three skills fix that — and there's a drill in this post that makes you do all three.

aiworkflowskillsinteractive
Read More →
Two panels: what the AI built — a payment system, then a website — above the three things only I could do: the keys, the money, the final yes.Two panels: what the AI built — a payment system, then a website — above the three things only I could do: the keys, the money, the final yes.
Working With AIJuly 16, 2026

My AI built the whole thing. It handed back the keys, the money, and the final yes.

Twice in one day, my AI built something end to end — a payment system, then a whole website — and both times handed me a short list of what it couldn't do. Nothing on either list was hard. Every item was the same three things — and they map exactly where your job with AI actually is now.

aiworkflowcollaborationshipping
Read More →
Six numbered steps along a rail — build a Kanban, make it mobile, what next, how do I deploy, it's live, journal this — with three marked as leaning on work done before the project started.Six numbered steps along a rail — build a Kanban, make it mobile, what next, how do I deploy, it's live, journal this — with three marked as leaning on work done before the project started.
Working With AIJuly 14, 2026

I put an app on my home screen in a day — here are the six prompts

I built a to-do app and put it on my phone's home screen in a day — six prompts, start to finish. The surprising part wasn't that it worked. It's how loose the prompts were: typos, half-sentences, one that's just "what next?" — and that three of the six could be that sloppy because a system I'd built before the project carried the quality the words left out.

aiworkflowshippingprompting
Read More →
A file card titled CLAUDE.md with three sections — who I am, working on now, how I work — each holding one line about me.A file card titled CLAUDE.md with three sections — who I am, working on now, how I work — each holding one line about me.
Working With AIJuly 13, 2026

I stopped re-explaining myself to my AI. The fix was one file I write by hand.

Claude and ChatGPT remember things about me now — but it's their memory, built automatically and locked inside one tool. What actually changed how I work was the opposite: a file about myself that I wrote and control. It started as a CLAUDE.md and grew into a second brain.

aiworkflowmemoryproductivity
Read More →
The Samurai Kitchen ordering site — the one I had the AI attack before writing about it
Build BreakdownJuly 9, 2026

I tried to break my friend's AI-built site — and deleted the hole instead of patching it

Before I let anyone read how I built my friend's ordering site, I had the AI attack it. It found a real hole — the customer's own browser was setting the price. The best fix wasn't a patch. It was a delete.

aisecurityshippingcase study
Read More →
The Samurai Kitchen site that shipped — the version Robert actually uses
Build BreakdownJuly 8, 2026

I built my friend's food truck a full ordering system. I shipped the simple version.

I built a full online-ordering system with Square payments for my friend Robert’s food truck — and then shipped something much simpler. The real skill wasn’t building the impressive version. It was knowing what not to ship.

aishippingnext.jscase study
Read More →