
A journey in Plan & Review: its acceptance criteria, and the seven blueprints that support them.
Intent Spec
Kana writes the intent spec first. Every other blueprint has to serve it.- Rendered
- Source
Intent: The game runs the night and day rounds itself, on a clock every player can see, so nobody has to sit out and narrate.Why: Somebody currently has to leave the game to deal roles, wake people up and count votes. That person never plays. Every part of this outcome exists so that job disappears rather than rotates.
- Non-negotiable: a player never receives another player’s role; the server owns the clock; a client only displays it
- Acceptable tradeoffs: a player who is offline when a phase closes loses that phase’s action; the round history is kept for the game only, not archived
- When two players report seeing different phases of the same game: Freeze the round and raise it with the owner — a split clock silently invalidates every vote after it
- When a role appears in a response sent to a player who does not own it: Stop the game and rotate the deal — the game is unwinnable and nobody can tell
UX Mockup
A live, clickable prototype of the real route, not a picture. Nadia’s private rooms mockup has 21 screens: the happy path, failures, recovery, privacy, and a full room. Each change is marked, so she can review it in place.- In Kanaeru

The screen list on the left, the live prototype on the right. Review 38 counts the changes left to review.

After Nadia decides how invitation rotation works, Kana updates the prototype to show it.
User Journey
The steps a person takes, grouped into phases, with who does each step and how it feels. Higher is better.- Rendered
Sequence Diagram
How the parts of the system talk to each other, in order. This one shows a night action arriving before or after the deadline.- Rendered
- Source
State Machine
Every state a game can be in, and what moves it from one to the next.- Rendered
- Source
Data Model
The tables, their columns, and the rules the database enforces. Kana writes it in DBML. Notice the unique indexes: one action and one vote per seat per phase is a database rule, not application code.- Rendered
- Source
Domain Model
The business concepts, which ones form a consistent unit (an aggregate), and the rules they keep. Kana writes it in D2, grouped into core, supporting, and generic tiers.@change marks what this outcome adds or modifies.
- In Kanaeru
- Source

Reviewing a domain model change by change: Room is new, with three attributes. Approve or Flag each one.
Architecture
The components, what each one is responsible for, and how data flows between them. Kana writes it in LikeC4, which has component, deployment, integration, and data views.- Rendered
- Source
API Contract
The endpoints the outcome adds or changes, as an OpenAPI document. The smallest surface a round needs. Note what is absent: there is no endpoint that returns anyone else’s role.- Rendered
- Source
Tech Stack
Each decision names the choice, why it was made, what else was considered, and the tradeoff. In Kanaeru, each card shows the technology’s logo.- Rendered
- Source
Language: TypeScript
One set of phase and role types shared by the server and the screen, so one side cannot drift from the other. Instead of: Python, Go.
Framework: Next.js
The join screen and the round screen come off one runtime, and server-sent events need no extra service. Instead of: Remix, SvelteKit. Tradeoff: Past a few hundred concurrent players this needs a dedicated socket layer.
Database: PostgreSQL (changed)
One action per seat per phase is a unique index, not application code. Instead of: MySQL, DynamoDB.
Hosting: Vercel
Small deploy unit, and straightforward delivery for a link people open on a phone. Instead of: Fly.io, Render.
Auth: Seat tokens, no accounts (new)
A display name is visible to everyone on the call, so it cannot prove a seat. A one-time token issued at join can. Instead of: Auth0, Clerk.
Monitoring: Structured logs + error tracking
Inherited from the workspace default rather than chosen again for this outcome.
Quality Profile
The quality attributes the work must meet: where the product is now, and the target. Kanaeru draws it as a radar chart.- Rendered
- Source