An open-source shared-screen Texas Hold’em game for 2–8 players. Each phone keeps its own two cards private. The display shows an emerald table, chip stacks, dealer/blinds, community cards and the current turn. Gold coins travel from player to pot when betting, then from the pot to winners, with synthesized metallic coin sounds.
Use Manaty Play, or run this repository locally with Node 22+: npm ci --ignore-scripts, npm run build, npm start. Phones join the host's displayed QR link. The organiser starts with at least two players, can enable automatic start when all eight seats fill, and can configure 5/10/20 hands, 1,000/2,000 starting chips and 30/45/60-second turns. The richest player at the match limit wins; equal stacks share victory. Late arrivals spectate until replay.
All chips are fictional. No deposits, cash-out, purchases, ads or prizes. A suggested age of 16 reflects simulated betting, not an official store classification. No accounts or player data beyond the host-managed profile.
No-limit Hold’em, fixed blinds 10/20, rotating dealer, best five of seven cards. Includes heads-up blind/action order, checks, calls, folds, full raises, short all-ins, cumulative reopening, side pots, ties, odd chips and uncalled-bet refunds. The non-folded hands are revealed at showdown; folded cards remain private. An exhausted turn checks when free and otherwise folds. All-in boards run out in animated stages. At the configured hand limit, chip stacks determine the result. The organiser's activity deadline refunds the unfinished pot before comparing stacks. No rake, antes or rebuys; the blinds do not increase.
Rule references: PokerStars betting, heads-up and side-pot rules. These explain the conventional rules; the implementation and artwork here are original. This is casual play, not a tournament officiating system.
npm test exercises native hand rankings, side pots, short raises, privacy, restoration, chip conservation and the built QuickJS match lifecycle at 2 and 8 players, including replay and no-winner completion. npm run test:browser exercises display/phone layouts, EN/FR/TL, stable table updates, coin trajectories, metallic sound synthesis/mute, reduced motion and an actual multi-browser match through the host. Set BROWSER_CHANNEL=msedge when using installed Edge; otherwise install Playwright Chromium. CI also runs the SDK prevalidator on the committed package.
Physical older TVs, acoustic quality on real speakers and eight physical phones have not been certified. Cards expose rank/suit text and buttons support keyboard focus; this version has not had a full accessibility audit.
MIT-licensed original JavaScript, CSS/SVG-style geometric card/coin artwork and procedural Web Audio. No external fonts, image packs, recordings or runtime downloads. The host provides optional player avatars and networking. Every game view remains sandboxed and uses the host for pairing, replay, preferences and personal-screen mode.

