PLOScope Stack
Poker platform orchestration system. Analytics, hand tracking, and session management for serious PLO players.
PythonGoRedis
Poker platform orchestration system. Analytics, hand tracking, and session management for serious PLO players.
PythonGoRedis
PLOScope
A platform for analyzing Pot-Limit Omaha poker hands. It brings together multiple microservices. hand history parsing, equity calculation, range analysis, and a web frontend. into a single orchestrated stack.
The Problem
PLO is a complex game with massive decision trees. Existing tools are either expensive, Windows-only, or don’t handle PLO well. I needed something purpose-built for the game I actually play. something I could run locally and extend as my study evolved.
Architecture
graph TB
subgraph Frontend["Frontend"]
UI[React Web App]
DASH[Dashboard & Charts]
end
subgraph Gateway["API Gateway"]
GW[FastAPI Gateway]
AUTH[Auth Middleware]
end
subgraph Services["Microservices"]
HHP[Hand History Parser]
EQ[Equity Engine]
RA[Range Analyzer]
GTO[GTO Solver]
end
subgraph Data["Data Layer"]
PG[(PostgreSQL)]
REDIS[Redis Cache]
FS[Hand History Files]
end
UI --> GW
DASH --> GW
GW --> AUTH
AUTH --> HHP
AUTH --> EQ
AUTH --> RA
AUTH --> GTO
HHP --> PG
HHP --> FS
EQ --> PG
EQ --> REDIS
RA --> PG
GTO --> REDIS
How It Works
- Hand history parsing. ingests hand histories from major poker sites, normalizes formats, and stores structured data in PostgreSQL
- Equity engine. Monte Carlo simulations for calculating hand equities across board textures
- Range analysis. builds and stores range profiles against different opponent types
- GTO solver. runs game-theory-optimal calculations for decision review
- Microservice orchestration via Docker Compose with a central stack repo
What I Learned
- Monte Carlo performance matters when you’re running millions of equity simulations. Caching intermediate results in Redis cut computation time by 10x for repeated range queries.
- Parsing hand histories from different poker sites is an exercise in dealing with inconsistent formats. Every site has its own quirks.
- Docker Compose as a microservice orchestrator works surprisingly well for a project this size. no need for Kubernetes when you have 5 services and one developer.
Related Posts
- Cashing a WSOP Tournament with PLOScope. Part 1: The Tournament. The story of using PLOScope to prepare for and cash at the World Series of Poker.
- Cashing a WSOP Tournament with PLOScope. Part 2: The Tech. A deep dive into PLOScope’s architecture, equity engine, and microservices stack.