Personal sports betting tracker with AI-powered analysis, OCR ticket import, and advanced analytics dashboard.
| Tool | Version | Purpose |
|---|---|---|
| Docker Desktop | Latest | PostgreSQL database |
| Python | 3.10+ | Backend API |
| Node.js | 18+ | Frontend |
| Ollama | Latest | Local AI (OCR + analysis) |
# 1. Clone & enter the project
cd BetTracker
# 2. Pull required AI models
ollama pull llama3.2-vision
ollama pull qwen2.5:14b-instruct
# 3. Setup backend
cd backend
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
# 4. Setup frontend
cd ..\frontend
npm install
# 5. Start everything
cd ..
start.batThe start.bat script handles everything automatically:
- Starts PostgreSQL via Docker
- Runs database migrations & seeds
- Launches backend (port 15555) and frontend (port 3001)
If you prefer to start services manually:
# 1. Start PostgreSQL
cd docker
docker compose up -d
# 2. Start backend
cd ../backend
.\venv\Scripts\activate
alembic upgrade head
python -m app.seed
uvicorn app.main:app --reload --port 15555
# 3. Start frontend (new terminal)
cd frontend
npm run devBackend config is in backend/.env:
DATABASE_URL=postgresql://bettracker:bettracker123@localhost:5432/bettracker
OLLAMA_URL=http://localhost:11434
OLLAMA_VISION_MODEL=llama3.2-vision
OLLAMA_TEXT_MODEL=qwen2.5:14b-instruct| Service | URL |
|---|---|
| Frontend | http://localhost:3001 |
| Backend API | http://localhost:15555 |
| API Docs (Swagger) | http://localhost:15555/docs |
- Backend: FastAPI, SQLAlchemy, Alembic, PostgreSQL
- Frontend: Next.js 16, React 19, Recharts, Tailwind CSS 4
- AI: Ollama (local LLM for OCR and betting analysis)
- 📊 Dashboard with advanced analytics (ROI by sport, market, odds, weekday)
- 📸 OCR import — paste or drag a betting slip screenshot
- ✏️ Manual ticket entry with inline status editing
- 🤖 AI-powered betting analysis
- 🎉 Win streak celebrations
- 🔍 Filters, sorting, and grouped statistics