An AI wrote the code. I decided what survives.
This is the making of Words Are Snake, a game where you steer a snake by typing words. Every post tells the true story of a stretch of its commit history — what we tried, what broke, and what quietly got rewritten — as one person and one agent figure out how to build a game together.
An agent that cannot play a word
Phase 1 of player agent tools exposes read-only game state and dry-run previews over WebMCP, while leaving typing and submission strictly to the human.
Four points short of a hundred
A routine Lighthouse audit surfaced two accessibility defects on the duel word panel: a missing accessible name and a token the snake could not share.
Closing the mobile PageSpeed gap
Three targeted cuts to initial load (lazy-loading AccountModal, self-hosting variable fonts, and manualChunks CSS consolidation) lift mobile performance.
When one DNS answer was not enough
A devcontainer firewall update replaces a point-in-time DNS assumption with published ranges for shared Google infrastructure.
Four packages, one refresh
A grouped minor and patch update refreshes the error-reporting SDK, test DOMs, and build tool through the package manifest and lockfile.
The missing step before MP4
Restoring a missing image package lets the gameplay recorder finish its WebM-to-MP4 conversion.
One frame for video and stills
The gameplay recorder moves to a phone-sized frame and captures full-screen marketing stills during the same run as its videos.
A passkey with a name of its own
New passkeys now carry a device label into the authenticator, so a password manager can tell registrations apart.
An account without Google
Passkeys arrive alongside Google sign-in as an independent credential type, with an in-page modal chosen over a dedicated route and throwaway prototypes shaping the flow.
The pipeline catches up
Advancing the GitHub Actions pnpm setup action to version 6.1.0, bringing native pnpm 12 compatibility to CI workflows.