Case Study 02 / Multi-Agent Systems

Poker AI

A sealed-state Texas Hold'em simulation where four LLM-powered agents reason from private memory, public table state, and distinct behavioral profiles.

Top 8Finalist among 130 builders at an NYC Tech Week hackathon
4 agentsIndependent private state, memory, behavior, and bluff profiles
0 callsRuntime LLM requests during the live demo playback

01 / Problem

Shared context makes many multi-agent demos less convincing.

Poker creates a useful adversarial test: each player must know only its own cards and history, infer intent from public actions, and avoid leaking private reasoning until the hand is complete.

Why poker

The game makes information boundaries visible. A single leaked card or reasoning trace invalidates the simulation, so agent isolation is part of correctness rather than an implementation detail.

My ownership

I designed the agentic graph and backend skeleton, defined behavioral profiles, built the offline generation pipeline, and structured the event log consumed by the playback interface.

02 / Architecture

Generate once, validate once, replay reliably.

OpenRouter and NVIDIA Nemotron 70B generated a structured event log offline. The React frontend then replayed that log without depending on model latency, quotas, or network conditions during judging.

Game statePublic table data plus sealed hole cards and per-agent memory
Agent graphFour profiles with distinct behavior and bluff rates from 0% to 40%
Event logOffline LLM output serialized into deterministic structured JSON
React replayAction playback, narration, subtitles, and post-hand reasoning reveal
PythonReactOpenRouterNVIDIA Nemotron 70BElevenLabsJSON

03 / Decisions

The demo architecture optimized for judging reliability without hiding the AI work.

Pre-generation removed runtime uncertainty while a post-hand reveal preserved the most interesting artifact: how each agent interpreted the same public game from different private information.

Sealed information

  • Each agent sees its own hole cards, its own history, and public table state.
  • No agent receives another player's private reasoning.
  • Reasoning appears only after the hand concludes.

Explainable playback

  • Reasoning is tagged with BLUFF, TRAP, HERO_CALL, TILT, and OPTIMAL_FOLD.
  • ElevenLabs narration provides one audio file per action.
  • Subtitles remain available when audio playback fails.

04 / Result

A deterministic demo of a nondeterministic system.

The final experience preserved agent isolation and visible reasoning while making zero runtime LLM calls, helping the project finish as a Top 8 finalist among 130 builders.

Next case study

Market Data Service

View Case Study