# 🃏 PokerTrip Personal poker tracker for tournament players. Track ad-hoc home sessions, plan poker trips with AI-powered schedule research, and analyze your game with real data. ## What It Does - **Home tracking** — Log tournament sessions at your local venues with quick entry and smart defaults - **Trip planning** — Create poker trips with budgets, tournament schedules, and venue info - **AI research** — Give the app a location and dates, it searches the web and builds your trip schedule (bring your own OpenRouter/Requesty API key) - **Tournament snapshots** — Snap the tournament clock screen, AI extracts level/blinds/players, you add your stack — track your trajectory over time - **Tilt guard** — Re-entry prompts show you the math: BBs you'll get, total invested, break-even needed - **Stats & analysis** — Filter by venue, buyin range, dates, game type. Compare late reg vs. on time, re-entry ROI, stack trajectories ## Stack | Layer | Tech | |-------|------| | **Backend** | Go, Chi, pgx, sqlc, River (job queue) | | **Frontend** | React, TypeScript, Vite, Tailwind (Catppuccin Mocha) | | **Database** | PostgreSQL | | **AI** | OpenAI-compatible API (OpenRouter / Requesty) | | **Search** | Self-hosted SearXNG | | **Deploy** | Single Go binary with embedded frontend | ## Getting Started ### Prerequisites - Go (latest stable) - Node.js 20+ - PostgreSQL 16+ - SearXNG instance (for AI research web search) ### Setup ```bash # Clone git clone ssh://git@10.5.0.14:2222/mikkel/pokertrip.git cd pokertrip # Configure cp .env.example .env # Edit .env with your database credentials and JWT secret # Database migrations make migrate # Development make dev ``` ### Build & Deploy ```bash # Build single binary (Go + embedded React frontend) make build # Run ./pokertrip ``` ## Project Structure ``` pokertrip/ ├── cmd/server/ Go entrypoint ├── internal/ │ ├── api/ HTTP handlers + middleware │ ├── db/ Migrations + sqlc queries │ ├── jobs/ River workers (research, scraping, OCR) │ ├── ai/ OpenAI-compatible client + tools │ ├── storage/ File upload (local fs, swappable to S3) │ └── config/ Environment config ├── frontend/ React + Vite + Tailwind ├── docs/ Design specs + reference files ├── .env.example Environment template ├── Makefile Dev/build/migrate commands └── Dockerfile Container deployment ``` ## Design See [`docs/2026-03-18-pokertrip-design.md`](docs/2026-03-18-pokertrip-design.md) for the full design spec. ## License Private — personal project.