Jackpot Solitaire

Hand-drawn Klondike solitaire with a casino-style bankroll and double-or-nothing mode

Year
2026
Role
Design & development
Category
Game
Stack
React, TypeScript, Zustand, PWA, Web Audio API
Preview of the Jackpot Solitaire project

Context

Design a browser-based solitaire (Klondike) game that stands out from the countless generic versions online: a genuinely crafted feel (art, sound, animation), a casino-style betting layer that adds risk without ever cheating on fairness, and an engine reliable enough to guarantee no game ever gets silently stuck or unfair to the player.

Solution

Built a deterministic, immutable game engine in TypeScript (every move returns a new board, never mutated), with reproducible seeds for the daily challenge and shareable games via link. Dead-end detection and safe auto-complete are both verified by simulation rather than guessed. Every visual and audio element is hand-made: hand-drawn cards and face cards, sounds synthesized on the fly via the Web Audio API (no audio files), and a betting system (bankroll, streaks, double-or-nothing) built as a real game mechanic rather than a simple score counter. Runs 100% offline as a PWA, with no account and no server.

Technical architecture

  • Game EnginePure TypeScript, no UI dependency: immutable state, seeded deterministic RNG (mulberry32), dead-end detection and auto-complete verified by bounded simulation
  • UI & StateReact 18 and Zustand for application state (current game, settings, stats, achievements), with smooth pointer- and touch-based drag and drop
  • Audio & PWAFully synthesized sound via the Web Audio API, complete offline install (vite-plugin-pwa) and automated continuous deployment to GitHub Pages