Want to play? Head to Play — or learn the rules in How to Play.
Early foundation
2024-11-22
The project started in a terminal, not a browser — rules first, UI later.
- Terminal-only engine built to get the ruleset correct before anything visual existed
- Django ASGI backend wired up; first networked game connected
Core gameplay loop
2025-01-19
The first time you could play a complete, fair match from start to finish.
- Full rules engine: Just Say No interactions, hand limits, rent calculations, and edge cases all handled
- Two-player desktop experience shipped end-to-end
- Win conditions and tie detection both handled — games could end for the first time
Online rooms & accounts
2024-12-21
Multiplayer went from "works locally" to "works for real people" — with accounts, rooms, and a stable connection layer.
- Registration, login, and game room creation/joining all functional
- Centralized WebSocketContext replaced ad-hoc socket code, making connections significantly more resilient
Card UI & drag-and-drop
2024-12-30
The game got its hands — drag-and-drop became the primary way to play.
- Initial card components designed and rendered in-browser
- Bank and property zones with drag-and-drop as the core interaction model for money, actions, and sets
Endgame + overlays polish
2025-01-19
Games could now end clearly — no ambiguity about what happened or why.
- Win condition overlay shipped, and major improvements were made to how rent and payment moments were presented
- Tie detection overlay added for drawn games
Multiplayer maturity
2025-03-23
Two players was the starting point. This phase built out the full table and made the whole thing stable.
- Centralized GameStateContext with lazy-loaded overlays and smoother action animations
- Three-player and four-player desktop layouts completed — full table play
- Better disconnection handling so a dropped connection doesn't ruin a session in progress
Roadmap & feedback
2026-04-12
The development direction became clear, and players got a way to influence it.
- 17-phase internal product roadmap created with set timeline in mind
- In-app feedback submissions with email notifications — a direct line from players to what gets built
Vite + mobile layouts
2026-04-17
The frontend got faster, and the game became genuinely playable on phones.
- Migrated from Create React App to Vite for a substantially faster dev and build experience
- Dedicated two-player mobile layout shipped; 3- and 4-player mobile iterated heavily (side panel redesigns, layout polish)
- Rejoin banner and reconnection logic added — lose your connection mid-game and you can get back in
PWA + install experience
2026-04-22
Cardopoly can now be installed as an app — home screen, not browser tab.
- PWA with install gate and mobile polish so the installed experience feels native
- Update prompt added so players aren't silently running stale code when a new version ships
In-game game log
2026-04-24
Fast turns in a 4-player game are easy to lose track of — the log keeps a record of everything.
- Game log records every action and event chronologically during a session
- UI polished for readability mid-game — not just technically present, but actually usable
Clerk authentication
2026-04-26
Auth was rebuilt from scratch on Clerk — more reliable sign-in and a real account recovery flow.
- Migrated from Django JWT to Clerk for more robust session management
- Forgot-password flow added — getting locked out of your account is no longer a dead end
Landing page overhaul
2026-04-27
The first impression was redesigned to actually represent what Cardopoly had become.
- Major landing page redesign — clearer, more polished, and a better foundation for the product going forward
Theme + dark mode
2026-05-05
The entire interface — including the game itself — now adapts to light or dark.
- Settings-controlled light/dark toggle backed by consistent theme tokens across the UI
- Full in-game dark mode — the densest part of the app got complete treatment
Legal + reactions
2026-05-05
Trust and expressiveness in one push: legal pages and in-game emoji reactions.
- Terms of Service and Privacy Policy added — explicit about how the game handles your data
- In-game emoji reactions launched — respond to a stolen set or doubled rent without breaking the flow
Interactive tutorial
2026-05-06
New players had no on-ramp — the tutorial puts them inside a real match against a bot and teaches by doing.
- Play against a bot through a real two-turn match — properties, Pass Go, banking, and a Deal Breaker steal — so the rules click through doing, not reading
- Step-by-step guidance shows exactly what to drag and where, with a nudge if you try the wrong card
Public Quick Match
2026-05-11
Solo players don’t need to share a code anymore — joining a game is a single tap.
- Live queue with size selection — pick 2, 3, or 4 players (or sit in several pools at once), see live counts per size, and get auto-routed into a fresh room the moment a match completes
- Underweight lobbies auto-dissolve — if a matchmade room loses players before start, surviving players get a toast and are bounced back to /play instead of staring at an empty table
Lobby customization
2026-05-12
Every private room can feel like its own variant now — country-themed property names plus tunable rules and presets.
- 22 country maps — Classic (US), a Global mix, and 20 countries (Japan, UK, India, Brazil…) each re-skin all 28 property cards with famous places from that country; game logic is untouched, so the change is pure flavor
- Tunable rules and presets — sets to win, hand limit, starting hand, draws per turn, actions per turn, and Pass Go bonus all adjust independently; Quick / Standard / Marathon presets snap every dial at once; variants disable Just Say No or Deal Breaker, or open up stealing from complete sets
- Live summary and in-game viewer — the lobby header shows the active setup at a glance, and a floating “i” during play opens a detail panel of every rule without leaving the table
- Quick Match stays standard — matchmade games always run on official rules, so pairings remain predictable while private rooms experiment freely
Profile pictures
2026-05-13
Players are no longer faceless initials — pick a photo in settings and it follows you everywhere you appear at the table.
- Upload, change, remove — the Profile tab in settings accepts PNG, JPEG, or WEBP up to 5 MB, with a live preview before you save and a one-click Remove that drops you back to the initial circle
- Visible everywhere it should be — your picture renders in the pre-game lobby and every in-game player slot on tablet and mobile, so opponents see each other’s faces, not just letters
Achievements
2026-05-17
There was nothing to chase between matches — 69 achievements now sit between you and a Mythic tier with feats like God Mode and Cardopoly Master.
- Trophy case on every profile — all 69 grouped by tier, with the date you earned the unlocked ones and a progress count on the rest (“8 of 25 games played”); your old matches already count, so nobody starts from zero
- Toasts as games end — each new achievement slides in the moment you’ve earned it; if one game triggers several, they stack so each gets a beat
Solo Game
2026-05-18
Playing meant waiting for real people to be online — Solo Game drops you straight into a match against 1, 2, or 3 bots at three difficulty levels, kept separate from your stats and achievements.
- Pick your table on /play — choose 1, 2, or 3 opponents and an Easy, Medium, or Hard difficulty, and a room spins up with bots already seated and ready so the host can start immediately
- Bots that actually play — they form sets, time their Deal Breakers against whoever’s ahead, hold Just Say No for the moves that matter, and pay rent down to the smallest combination of cards instead of dumping their bank
- Off the books — nothing from a Solo match touches the leaderboard, your win/loss record, your match history, or achievement progress; the lobby labels itself accordingly so you always know what you’re in
- Full house rules still available — country maps, presets, and individual rule tweaks all work in Solo, so it doubles as the place to try unusual setups (5 sets to win, no Deal Breaker, etc.) without affecting anyone else
- Friend invites are off-limits — Solo rooms reject invite attempts at the server, and the friends drawer hides the invite button while you’re in one, so the “it’s just you and the bots” promise actually holds
Social + stats
2026-04-16
Your match history started mattering — profiles, stats, friends, and live presence.