About This Build
Cuarenta App
This page covers the project-specific decisions behind this browser version of Cuarenta: how the prototype evolved, what the shared-table implementation now does, and what is still intentionally left out of scope.
What Changed From The Earlier Prototypes
- The app no longer starts with four face-up table cards.
- The backend no longer auto-plays a CPU turn.
- Two browsers can join the same room and play opposite seats.
- The API returns seat-specific valid moves and current hands for the connected player.
- The game now tracks match-end stats and can export a winner receipt PDF.
How The App Works
- Rooms are stored server-side in memory and browsers stay attached through cookies.
- The backend is authoritative for legal moves, dealing, scoring, and winner resolution.
- The frontend is a shared table UI: each browser sees its own hand face up and the opponent hand from the opposite side.
- The message center is session-based and intentionally separate from gameplay history.
Current Scope
- This build targets the documented two-player flow only.
- Sessions are transient: restarting the server resets rooms and cookies lose their attached state.
- The rules page documents the exact ruleset implemented here, not every regional variation of Cuarenta.
Known Limits
- The app does not implement the advanced remembered-ronda bonus.
- Some cities and tournament tables score special combinations differently from this build.
- The in-memory room store is intentionally simple and does not yet persist across server restarts.