An online card game platform for playing with friends — fully client-side, no server required.
Players connect directly peer-to-peer via PeerJS. The host is the source of truth: they validate actions, update game state, and broadcast it to all players.
npm install
npm run dev
Type-check:
npm run check
This project is configured with @sveltejs/adapter-netlify.
npm run buildbuild (defined in netlify.toml)The engine is designed so each game is a self-contained GameDefinition object — no framework knowledge needed.
See docs/engine.md for the full guide.
Existing games: War · The Fight · Color · Presidents
src/lib/
engine/ # pure utility functions (shuffle, deal, zones…)
games/ # one file per game
decks/ # deck types and visual themes
network/ # PeerJS host/client wrappers (in progress)
src/routes/
/ # lobby — create or join a game
/game/[id] # game room
docs/
engine.md # how to build a game
games/ # rules for each included game
Found a bug? Use the in-app bug report button (Settings drawer → bottom, or the Bug button in the corner) — it opens a short Tally form.
Want a new card pack added? Use the in-app proposal link (Settings drawer → bottom) — it opens a short Tally form.
Want a new game added? Use the in-app proposal link (Settings drawer → bottom) — it opens a short Tally form.
MIT — © 2026 Luca Deltort