Callsheet
shippedGame-day call sheet builder for high school football coaching staffs — deployed at callsheet.coach.
Callsheet is a tool where coaches can build, organize, and print a game-ready call sheet faster than spreadsheets — with their entire playbook, roster, and scouting connected in one place.
I built this because I know the chaos coaching staffs deal with on game day. Spreadsheets everywhere, notes scribbled on paper, no single source of truth. Callsheet fixes that.
Features
- Playbook — Full CRUD with polymorphic phases (offense, defense, special teams), tag system, bulk CSV import
- Call Sheets — Build and organize game-day sheets from your playbook
- Scouting — Opponent tendency tracking with reports
- Smart Planning — Auto-generate call sheets from scouting data
- Auth & Teams — Email/password signup, team invitations, role-based access control
- Dark Mode — Press boxes and film rooms are dark. The app should be too.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router, Turbopack) |
| Database | PostgreSQL via Neon (serverless) |
| ORM | Drizzle ORM with RLS |
| Auth | better-auth (email/password + organizations) |
| UI | shadcn/ui + Tailwind CSS v4 |
| Monorepo | Turborepo with Bun |
| Testing | Vitest + Playwright |
| CI/CD | GitHub Actions → Vercel |
Architecture
Turborepo monorepo with three packages: apps/web (Next.js), packages/db (Drizzle ORM + schema + migrations), and packages/ui (shared shadcn/ui components). RLS on all tenant-scoped tables for team isolation.
Status
Currently in Phase 10 (RBAC for coaching staff roles). Phases 1-9 complete, including full scouting reports with 14 UAT tests verified passing. Deployed and live at callsheet.coach.