Skip to content
/ saga Public

Campaign tracker for tabletop RPGs — characters, sessions, timelines, dice, initiative. System-agnostic.

License

Notifications You must be signed in to change notification settings

CandyFlex/saga

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

Saga

Saga

Campaign tracker for tabletop RPGs

Live Demo


Every campaign I've run eventually turns into a mess of browser tabs, notebooks, and half-remembered NPC names. Saga is the one place where all of it lives — characters, sessions, timelines, dice rolls, initiative order — so I stop losing things between session three and session four.

I built this to learn full-stack development by making something I'd actually use. Nineteen API endpoints later, it's the most complete project in my portfolio and the one I learned the most from.


What It Does

  • 8-tab interface — Characters, sessions, milestones, badges, NPCs, timeline, combat, and export. Everything lives in one place
  • Dice roller — Floating button accessible from any tab. Roll without leaving what you're doing
  • Initiative tracker — Add combatants, roll, step through turns. Built for running combat, not prepping for it
  • NPC directory — Searchable, filterable. When a player asks "who was the merchant in Thornwall?" you have the answer
  • Badge system — Four rarity tiers for rewarding memorable moments
  • Onboarding wizard — Four steps, under a minute, you're running
  • PWA — Installable on your phone for use at the gaming table

Works for D&D, Pathfinder, or whatever system you're running.


Screenshots

Campaign dashboard

Campaign dashboard — roster, timeline, and the stuff you actually need mid-session

Feature overview

Saga on mobile

Mobile layout — built for the table, not just a desktop


Technical Details

Stack: Next.js 15, TypeScript, React 19, Tailwind CSS, Prisma 6, PostgreSQL, Framer Motion

  • Decomposed components — no file over 250 lines, every tab dynamically imported
  • 19 API routes across campaigns, characters, badges, sessions, milestones, dice, encounters, NPCs
  • PostgreSQL via Prisma with Neon serverless
  • PWA manifest for mobile installation

Part of a set of tools I built for people who run tabletop games. This is the most complete one.

About

Campaign tracker for tabletop RPGs — characters, sessions, timelines, dice, initiative. System-agnostic.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •