live · service
GTOPlaybook
홀덤 GTO 차트를 한 손에. 2~9인 테이블, 7bb / 15bb / 25bb 스택 깊이, 모든 포지션의 RFI · 3bet · BB/SB 디펜스 의사결정 그래프 — 거기에 핸드 분석기와 팟 계산기까지.
서비스 소개
GTOPlaybook 은 홀덤 토너먼트 / 캐시 게임에서 의사결정의 기준이 되는 GTO(Game Theory Optimal) 차트를 모바일에서 한 손으로 다룰 수 있게 만드는 학습 도구입니다. 포지션 · 스택 · 상황을 고르면 그에 맞는 레인지 그리드를 보여주고, 사용자가 들고 있는 핸드를 입력하면 그 자리에서 권장 액션을 알려줍니다.
앱은 Flutter, 서버는 Node.js + TypeScript + Express + PostgreSQL. 차트 데이터는 서버에서 시드 데이터로 관리하고, 앱은 한국어 / 영어 양쪽으로 제공됩니다. 인증은 Firebase Auth (Google Sign-In) 위에 자체 세션을 얹는 구조입니다.
- 2~9인 테이블 전체 커버플레이어 수에 따라 자동으로 가능한 포지션이 바뀌고, 그에 맞는 차트가 노출됩니다.
- 3가지 스택 깊이7bb · 15bb · 25bb. 각 깊이별 RFI, push/fold, 3bet 대응까지 시드 완비.
- 풀 시나리오 차트RFI · 3bet · 4bet · BB defend · SB defend · vs3bet mixed maps — 모든 조합을 한 앱 안에.
- 핸드 분석기들고 있는 패와 상황을 입력하면 그 자리에서 권장 액션과 그 근거를 알려줍니다.
- 팟 계산기팟 오즈 / 임플라이드 오즈 / 콜 비용 — 자주 하는 계산을 한 탭에서.
- 다국어 (한국어 · 영어)UI / 차트 카테고리 / 분석 결과까지 사용자 로케일을 따릅니다.
- 운영 도구관리자 대시보드 — 사용자 관리 · 통계 · 문의 응대.
- Cross-platformiOS · Android 동시 출시. AdMob 배너로 무료 사용층 확보.
Architecture
한 대의 VPS 위에 컨테이너로 묶은 일반적인 구성. 차트 데이터는 서버 시드로 관리하고, 클라이언트는 캐싱 + 캘리브레이션 형태로 받아옵니다.
Behind the scenes
만들면서 가장 까다로웠던 두 가지 — 정확한 GTO 데이터를 시드 단계에서 잡는 일, 그리고 그걸 모바일 한 화면에 압축해 보여주는 일.
-
01
코드보다 데이터가 더 어렵다
GTO 차트는 한 줄로 표현하면 단순합니다 — "어떤 손패를 어떤 액션으로 가야 하는가". 그런데 그 단순한 표가 포지션 × 스택 깊이 × 상황(RFI / 3bet / 4bet / BB defend / SB defend / vs3bet) × 플레이어 수의 곱으로 폭발합니다. 처음 시드를 채울 때는 그럴듯해 보여도, 막상 기능을 켜놓고 살펴보면 — 15bb push/fold 에서 QTs 가 빠져있고, HJ 25bb RFI 에서 99 가 누락되고, 15bb BB defend 3bet 에서 AA / KK 가 빠져있는 식의 디테일이 줄줄이 발견됐습니다. v1.0.0 출시 직후의 작업 절반은 차트 데이터를 줄 단위로 다시 검수하는 일이었고, 결국은 "GTO 정확도 보강" 커밋 시리즈를 한 라운드 굴리고서야 어느 정도 닫혔습니다. 앱의 가치가 코드가 아니라 데이터 자체에 있는 종류의 프로젝트라는 걸 — 만들면서 새삼 배웠습니다.
-
02
169칸을 모바일 한 화면에
13×13 의 핸드 매트릭스(169칸)를 책상 위 모니터가 아닌 손바닥만 한 화면에 — 게다가 색상 / 비율 / 액션 라벨까지 — 한눈에 들어오게 풀어내는 게 또 다른 도전이었습니다. 처음엔 그리드가 빽빽해서 셀 하나하나의 색이 어떤 액션을 의미하는지 헷갈렸고, "Mixed" 액션은 한 셀에 두세 색이 들어가야 해서 더 복잡했습니다. 결국 simple mode 와 detail mode 를 따로 두고, 자주 쓰는 정보(액션 우선순위)는 색으로, 디테일(비율)은 탭 후 패널로 풀어내는 식으로 절충했습니다. 데이터의 정확도를 잡는 일이 바닥에서의 일이라면, 이 일은 천장에서의 일 — 모바일이라는 좁은 천장 아래에 정보를 어떻게 끼워 맞출지의 문제였습니다.
Screenshots
카드를 누르면 큰 이미지로 볼 수 있습니다.
More
지나온 버전과 앞으로 들어갈 항목을 별도 페이지에서 확인할 수 있습니다.