Inspiration
A good poker player reads the table as well as the cards. Online poker loses much of that human tension: the hesitation before a raise, the reaction to the river, the attempt to look confident with nothing.
For HackRice’s casino theme, we asked: can you bluff an AI that can read your face?
We built Poker Face to turn that question into a game you can play with friends and a challenge you want to try again.
What it does
Poker Face is multiplayer Texas Hold’em against AI opponents that use your betting behavior and webcam-derived tells to make decisions.
Build your table. Invite friends with a four-letter code and fill empty seats with models such as Claude, GPT, Gemini, and Grok.
Try to bluff them. Your camera tracks changes in movement, blinking, and facial tension. AI opponents consider these observations alongside the cards, pot odds, and your betting history. ElevenLabs gives them distinct voices for their table talk.
Watch your own response. Presage SmartSpectra uses the same camera to estimate pulse and breathing rate. These measurements appear privately beneath your camera when signal quality is sufficient.
Let friends watch. The spectator rail shows the cards and AI reads. Optional Solana devnet predictions let spectators participate in the action.
See what happened. After the match, the reveal connects important AI decisions with the observed tells, actual cards, and final outcomes.
Achievements, a poker-face score, the Hall of Poker Faces, and rematches give players reasons to return. Winning chips is one challenge. Keeping the table guessing is another.
How we built it
Game engine: A server-controlled No-Limit Hold’em engine handles legal actions, turn timers, blinds, all-ins, and side pots.
AI decisions: OpenRouter connects each seat to its selected model. A strategy layer supplies hand-strength estimates, pot odds, opponent tendencies, and behavioral observations. The server validates every action.
Camera analysis: MediaPipe extracts facial features in the browser and compares them with each player’s baseline. Presage processes frames on the server to estimate pulse and breathing, with separate quality and freshness checks.
Voice: ElevenLabs speaks approved AI dialogue. Speech generation is separated from private card information and decision reasoning.
Live multiplayer: Next.js, React, and TypeScript power the interface. Server-Sent Events deliver separate player and spectator views from our Railway deployment.
Challenges we ran into
Interpreting behavior: movement and physiological changes have many possible causes. We treat behavioral tells as uncertain game inputs. Presage measurements remain private and are not used as bluff probabilities.
Keeping the game fair: players, AI opponents, and spectators need different information. We separated their views, validated AI actions, and restricted spoken dialogue to reduce private-information leaks.
Making the camera reliable: calibration, movement, lighting, and native SDK deployment all required careful handling. We added automatic recovery and distinguish fresh readings from previous estimates.
Accomplishments that we're proud of
We built a complete experience: create a table, play against friends and real AI models, watch from the rail, inspect the results, and rematch.
Our favorite feature is the reveal. It lets players examine what the AI observed and compare its mathematical recommendation, tell-adjusted recommendation, and final action. The feedback gives the next match a purpose: try a different approach and see how the table responds.
What we learned
A compelling AI game needs understandable consequences. Players should be able to see how information enters a decision and revisit the result afterward.
We also learned that the social experience matters as much as the engine. An opponent’s voice, a spectator’s reaction, and a surprising reveal make a hand memorable.
What's next for Poker Face
- Persistent match history and progression across sessions.
- Practice challenges built around specific poker decisions.
- Broader camera testing across people, devices, lighting, and normal movement.
- Evaluation of whether behavioral tells improve AI decisions beyond betting context alone.
Built With
- elevenlabs
- mediapipe
- nextjs
- openrouter
- railway
- react
- tailwind
Log in or sign up for Devpost to join the conversation.