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.

  1. 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.

  2. 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.

  3. The missing step before MP4

    Restoring a missing image package lets the gameplay recorder finish its WebM-to-MP4 conversion.

  4. 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.

  5. 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.

  6. 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.

  7. The pipeline catches up

    Advancing the GitHub Actions pnpm setup action to version 6.1.0, bringing native pnpm 12 compatibility to CI workflows.

  8. A scaffold for the workbench

    Migrating the devcontainer from a bespoke compose stack to a standardized single-container scaffold supporting four distinct AI assistant CLIs.

  9. Headroom for the replay

    A flaky leaderboard test traced back to tests repeatedly rediscovering deterministic scores and an arbitrary rate limit cap.

  10. The wrapper that only looked for two

    A devcontainer rebuild failure on Apple Silicon traced back to a browser launcher that matched x86 and legacy Chromium cache paths but missed ARM64.