A full-stack web app built to solve a very specific problem for four people.

All sessions page on mobile

All sessions page on mobile

Context

I play Dungeons and Dragons every fortnight with a small group scattered across time zones.

One of our group always takes detailed session notes, but getting them into a shareable format was a chore: manually laying out text in a PDF, resizing boxes, wrestling with formatting every time.

I started thinking about how to make that easier and ended up building something much bigger than a form with a download button.

Desktop homepage

Desktop homepage

Role

  • Problem identification
  • Product design
  • Full-stack development (Next.js, Supabase, OpenAI API)
  • UI Design
New session page on mobile

New session page on mobile

Solution

  • Built a web app with a structured form for logging each session: date, characters, NPCs, locations, loot, and full written notes, with tag-based inputs for list fields and sensible defaults throughout.
  • Pivoted from a downloadable PDF to a Supabase backend so every session is stored and viewable live on the web.
  • Built the site around a sidebar view listing every session by season, with full CRUD and fuzzy search across all session data.
  • Integrated the OpenAI API to auto-generate a one-paragraph summary on submission, stored once and never re-run.
  • Added a lightweight access gate: rotating campaign trivia questions that only the group would know. Not real auth, just thematic.
  • Responsive with light and dark mode so players can reference notes on a second device mid-session.
New session page on desktop

New session page on desktop

Impact

What started as "can I make a form that generates a PDF" became a full-stack web app with a database, live content, AI integration, search, and a custom access system.
It may only be used by four people every fortnight but it solved the problem completely.