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. One function for game-over

    Moving the Daily challenge game-over lifecycle out of a reactive effect and into one function with a fixed order, delivered through an umbrella branch.

  2. A major version with no diff

    Upgrading the PostgreSQL driver across a major version changed only the manifest and lockfile, because the repository called none of the APIs the release removed.

  3. A volume that kept its old version

    Moving the devcontainer to PostgreSQL 18 reused volumes that could hold PostgreSQL 16 data. The fix gives each major version its own volumes and a check that keeps them apart.

  4. One glossary per context

    Renaming the domain glossary to GLOSSARY, adding a map for the game and the blog, and recording the agent-skills setup that reads them.

  5. A runtime the repo never declared

    The repo never declared a Node version, so the platform picked one. The runtime is now declared, and CI, the devcontainer and PostgreSQL move to match production.

  6. A test DOM that stopped loading by default

    A grouped minor and patch update lands with a major version of the test DOM, which stops loading stylesheets and iframes unless it is told to.

  7. A recording that assumed three lives

    The PvP gameplay recording still planned for three lives, while the game starts duels with two, so its final crash never reached the video. The recorder now reads the count from the game.

  8. Searching the preview word list

    The preview words page for testers gained a search box with fuzzy and exact matching, and a live filter that still works when the page is served without its script.

  9. A gameplay still for the social card

    The link preview card for Words Are Snake now shows a still from the game instead of a title card, at the same file path, with alt text that matches the page description.

  10. Four letters, drawn fresh each day

    The four letters that steer the snake are now drawn each day for each language, so the same words stop winning forever, and every game keeps the letters it started with.