PokAR 🃏 Learn poker by playing it, with Spectacles as your personal AI coach!

Inspiration

Poker is a game our team grew up watching in movies, and saw up close when some of us watched people playing it in Vegas. But our group was split right down the middle: two of us are casual players, and two of us are complete beginners. That gap is exactly what got us thinking.

The two beginners had tried to learn before. They watched the top 5 YouTube tutorials and still couldn't get it to click. Meanwhile the casual players knew the truth that every guide dances around. One comment under a video summed it up perfectly:

"You won't learn poker until you play it."

The problem is, playing poker to learn it is intimidating and expensive, especially with more experienced people at the table. So we asked: what if you had a coach right there with you, every hand, telling you your odds and helping you build instincts? Something that could bring a beginner up to speed fast, while still being useful to a casual player sharpening their reads.

That's PokAR.

Poker. A game played by millions. Where the stakes are always high. Where every decision can change your life. But beneath the cards and chips lies a game of strategy so complex it takes years to master.

Until now. With Spectacles as your coach, you can learn faster in Single Player Mode, build confidence with every hand, and then, when you're ready, step into Live Mode and put your skills to the test against real people, with real cards, on a real table.

What it does

PokAR turns Spectacles into a hands-on Texas Hold'em coach with two distinct modes:

🎓 Single Player Mode (Tutorial)

  • Heads-up Texas Hold'em against a CPU opponent.
  • You're dealt two hole cards face-down on the table. Grab and peek at them with your hands, just like real cards.
  • Act with gesture-driven Fold / Call / Raise buttons.
  • Streets advance naturally: Flop → Turn → River → Showdown, with the best 5-card hand taking the pot.
  • A palm-side hand menu shows your live win % every step of the way, powered by an on-device Monte Carlo hand evaluator, so you start to feel what a good hand looks like.
  • Bet by pinching a chip and pulling up to physically stack your wager. On a raise, the chips animate flying into the pot.

👁️ Live Mode (Real World)

  • Sit down at an actual poker table with real cards and chips.
  • Spectacles captures the scene through the camera and sends it to Google Gemini, which reads your two hole cards and the community cards on the table.
  • We simulate your win probability locally and surface it big and clear, with a one-line read on your hand.
  • An Auto-Capture toggle keeps your odds updating continuously, or you can hit Capture to analyze a single moment on demand, perfect for re-checking after each new card is revealed.

How we built it

  • Platform: Snap Spectacles and Lens Studio, written in TypeScript.
  • Interaction: SpectaclesInteractionKit (pinch, grab, manipulate) and SpectaclesUIKit (buttons, switches) for fully hands-free, gesture-based controls: grabbable cards, drag-to-bet chips, and tactile action buttons.
  • AI vision: Google Gemini (via the Remote Service Gateway) reads real-world cards from the camera feed and returns structured card data.
  • Poker brain: a custom Monte Carlo HandEvaluator simulates win probability on-device from any set of hole and community cards. The same engine drives both the CPU opponent and the live win-% readout.
  • Modes architecture: a shared GameManager enables exactly one mode at a time, with dedicated controllers for Single Player, Live/Real-World, and an in-progress Multiplayer layer (synced sessions, pot, and cards).

Challenges we ran into

  • Team collaboration on a Lens Studio project. Lens Studio's project format doesn't play nicely with git out of the box. We hit merge conflicts and stale project-lock files that blocked teammates from even opening the project, and had to work out a clean sharing workflow.
  • Gemini card recognition. Getting reliable, structured card reads from a live camera feed took real iteration on the prompt and the capture pipeline (frame timing, camera settle, throttling requests). The big lesson: Gemini is excellent when you give it a clean enough input.
  • Merging two modes into one coherent app without them stepping on each other's scene state.

Accomplishments that we're proud of

  • Built a functioning poker game with two fully distinct modes, a CPU tutorial and a live AI-coached table, in a very short amount of time.
  • Made poker genuinely approachable: a real-time win % that teaches you the game while you play, instead of before you play.
  • Natural, physical interactions, like peeking at cards and stacking chips to bet, that make it feel like real poker, not a menu.

What we learned

  • Gemini is remarkably capable when fed a good capture. Most of our "AI problem" was actually an input problem. Once the frame was clean, recognition got sharp.
  • AR + AI is a phenomenal way to gamify complex skills. Layering live coaching onto a real-world activity makes something intimidating feel learnable, faster, and a lot more fun. Poker is just the first example.

What's next for PokAR

  • Polishing both existing modes: smoother CPU play, better card recognition, more coaching depth.
  • Full Multiplayer Mode: a shared session with a synced timer and synchronized pot/cards across players.
  • Broadcasting gameplay to external destinations like web dashboards and spectator views, so a live PokAR table can be followed from anywhere.

Built With

  • google-gemini
  • javascript
  • lens-studio
  • lyria
  • monte-carlo
  • openai
  • remote-service-gateway
  • snap-os
  • snap-spectacles
  • spectacles-interaction-kit
  • spectacles-sync-kit
  • spectacles-ui-kit
  • typescript
Share this project:

Updates