← Back to the workshop How and why I built it

Guest of Honor

A party trivia game themed around one person's life. Friends play on their phones, and an agent interviews you about the guest of honor and writes the clues.

In progressTypeScript · React · WebSockets · Lambda · DynamoDB · ClaudePhones + a TV
Guest of Honor's board mid-game: six categories of 200 to 1000 point clues, a few already played, and three team scores below
The board on the TV, four clues in. Every category comes from the guest of honor's life; every clue is real trivia.Start a game →

The itch

For my last birthday, my lovely girlfriend made a full trivia game for my birthday. She did such a great job balancing making it unique to me, without making anyone who doesn't know me too well feel like an outsider. I hope for this project to emulate the gift she made for me. It is one of the better gifts I've ever gotten, and I wanted to share it with others.

How a game works

Making a board

Building. An agent interviews you about the guest of honor, following threads until it finds six categories with real trivia behind them (not "running," but which races). Then seven writers run in parallel, one per category plus the final, each checking every fact with web search and citing a source. You can re-roll any clue or edit it by hand. The agent is written; it's waiting on an AWS sign-up so it can run.

Until then, there's a board editor for writing one by hand, and a sample board to play.

How it works

The game rules are one pure function: give it the game and an action ("open this clue," "team B answered"), and it returns the new game. The same function runs in the tests, on my laptop, and in the Lambda, so the rules are written once.

Rooms run on an API Gateway WebSocket API. Each message wakes a Lambda that loads the room from DynamoDB, applies the action, and pushes each device its own view. The TV and teams never receive an answer before the reveal, even in the page data. Two teams answering in the same instant can't overwrite each other: every save checks the room's version first and retries if someone beat it.

What's next

Start a game

Put the board on a TV, then scan the QR code with your phones.

Open Guest of Honor →