Trivia Master
I'm a longtime fan of Jeopardy and trivia. Trivia Master is a single-player, Jeopardy-style web app I built for fun and practice. You sign in, create a game, and play through three rounds: Jeopardy, Double Jeopardy, and Final Jeopardy. You pick clues, reveal answers, and mark yourself right or wrong. Daily Doubles and Final Jeopardy let you wager within the rules. I wanted a project that put game logic on the server and kept the frontend focused on display and input.
The backend (NestJS) owns all game rules, scoring, and wager validation. The frontend (Next.js) is a thin client. It shows what the server sends and sends actions back; it does not decide outcomes. Clue data is loaded into Postgres from TSV files via scripts, not from a live external API. Auth is Supabase; the API checks the JWT and scopes every action to the signed-in user. I run it locally with Docker Compose and deploy the backend to AWS ECS and the frontend to S3 behind CloudFront, with GitHub Actions for tests and deploys.
- Backend-authoritative design: rules and state live in one place on the server.
- Clear API and schema so the frontend stays simple and testable.
- Full three-round flow with Daily Doubles and Final Jeopardy wagering.
- Documented so other engineers can follow the design.


