pokertrip/README.md
Mikkel Georgsen fef6f5318e Initial project docs — design spec, reference JSX, and GSD kickoff
Personal poker tracker: Go + React + PostgreSQL PWA for tracking
home sessions and poker trips with AI-powered schedule research.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:36:56 +00:00

87 lines
2.7 KiB
Markdown

# 🃏 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 1.22+
- 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.