Peer-to-peer Texas Hold'em poker with verifiable shuffling.
Live: https://blind.ruska.uk
This project was mostly generated with AI assistance.
- Node.js
- npm
npm install
cd worker
npm installRun the frontend:
npm run dev -- --host 127.0.0.1Run the signaling worker:
cd worker
npm run dev -- --ip 127.0.0.1 --port 8787Open the app at:
http://127.0.0.1:5173
The production deployment uses a single Cloudflare Worker with Static Assets. Static frontend files are served from dist without invoking the Worker script, while /rooms and room WebSocket routes are handled by the Worker and Durable Objects.
Deploy from the repository root:
npm run deployThis game uses WebRTC/P2P so players can exchange game messages directly when possible. During connection setup, the signaling server and other players may receive network information needed to establish the peer connection, including your public IP address, candidate routes, and relay-related connection metadata. This is normal WebRTC behavior and may reveal approximate network location or provider information.
Card images are from Xadeck/xCards. The upstream project is licensed under LGPL-3.0. A copy of the upstream license and README is included under public/xCards/.
Project source code is licensed under the MIT License. Third-party assets keep their original licenses; xCards assets are licensed under LGPL-3.0 and are included under public/xCards/.
npm run typecheck
npm run build