Older posts
Confetti for the winner
A win effect and per-viewer reveal rule let every player see one clear ending, even when a duel ends with both a winner and a crash.
A second way to share
A general "share the game" button joins the main menu, distinct from the post-game score share, plus a dependency catch-up that ran into a release-age policy of its own.
The fourth status line
A stale three-tool test turned pnpm support into a devcontainer startup failure, and the repair had to model the new update path properly.
Four tabs, one question at a time
Restructuring the stats page around mode, scope, and language, with prototypes and typed review catching what the first implementation missed.
The fourth tool in the manifest
Bringing pnpm into the developer-tool update policy, replacing manual version chores while keeping CI reproducible.
One skill, three agents
Moving the repository-owned skills to one provider-neutral home, restoring the Codex workspace sandbox, and making portability a tested claim.
Keeping developer CLIs fresh without breaking the build
Unifying developer CLI lifecycle management in the devcontainer, auto-updating on startup without mutating reviewed build pins, and handling package manager regressions.
Silence was two different bugs
One missing leaderboard entry exposed both silent server rejections and a client race that could erase a finished game without making a request.
The crash and the verdict
A particle burst, one reveal-timing rule, and actor-aware text make collisions and their consequences read as one event.
The board becomes readable
The game board stops being hidden from assistive technology and becomes a read-only grid that can be explored without taking control away from word input.