What this slice proves
One domain model feeds multiple product surfaces.
The landing page, lobby, match screen, API shell, and future mobile clients can all draw from the same match state and public/private projection helpers.
Responsive web first. Native-ready later.
This baseline pairs a branded Next.js front end with a shared TypeScript rules engine and a server-authoritative multiplayer plan. It is meant to grow into the real product, not get replaced by it.
What this slice proves
The landing page, lobby, match screen, API shell, and future mobile clients can all draw from the same match state and public/private projection helpers.
Why this stack
The repo is structured around reuse and correctness first: web for UX, server for authority, contracts for safety, and engine for deterministic rules.
Friend-led tables with ready states, invite links, and host controls.
Low-pressure sessions that use the same match UI and core state model.
Server-authoritative projections keep hidden information private while restoring state cleanly.