Campaign Management
Everything Between Session Zero and the Final Boss
Encounters, sessions, scheduling, real-time party monitoring, homebrew creation — all connected and all in one place.
You’ve been building your GM toolkit from spare parts.
A spreadsheet for encounters. A Discord bot for scheduling. A shared doc for session notes. A separate VTT for maps. A PDF for adversary stats bookmarked across twenty tabs. Every tool solves one problem and creates two more.
Curses! was built by a GM who did exactly that, got frustrated, and decided to build the system that should have existed. Everything on this page lives in one integrated platform.
Campaign Setup
Create, Invite, Play
Create a campaign, get a shareable invite link, and send it to your players. When they join, their characters link automatically — no manual roster management, no copy-pasting character IDs.
The party overview dashboard gives you read access to every player’s character sheet. See their loadout, their domain cards, their current HP — all from your GM view. Real-time WebSocket connections keep everything synchronized from the moment they join.

Encounter Design
Encounters That Build Themselves
The full SRD adversary catalog — every creature, filterable by type, tier, and difficulty — with inline stat blocks rendered directly in the encounter designer. No switching tabs. No cross-referencing PDFs. Pull adversaries into your encounter, set quantities, and stage your fight.
Then layer in the environment system: activatable environmental features that cost Fear, add battlefield conditions, and require player interaction. The environment isn’t set dressing — it’s a mechanical participant in the encounter.
When session time arrives, the encounter you designed becomes your live combat tracker. Per-adversary HP tracking, condition management, and threshold monitoring — all on the same screen you used to build it. The prep-to-play pipeline has zero handoff.
Technical Specs
- Adversary catalog
- Full SRD
- Filter dimensions
- Type · Tier · Difficulty
- Stat blocks
- Inline rendered
- Environments
- Activatable features
- Live tracking
- HP · Conditions · Thresholds
- Mode
- Build → Run (same screen)

Session Tools
Your Campaign’s Memory
Session logs capture everything that matters: lore reveals, player decisions, NPC introductions, and unresolved threads. Every entry is searchable, so “what happened with that NPC three sessions ago?” is a question you can actually answer in seconds.
Scheduling lives in the same place. Set session dates with player availability coordination, so the group stays coordinated without leaving the app. No more “when works for everyone?” threads in Discord that spiral into fifty messages.

Live Session
The Helm
The Command HUD is your real-time party dashboard. HP percentage, Stress levels, armor slot status, Hope count, and active conditions for every player at the table — color-coded by danger state (healthy → wounded → critical → down) and sorted by who needs attention most.
Tap any element on a player’s sheet to ping it — their screen scrolls directly to it with a gold highlight animation. Send roll requests that pre-populate the player’s dice panel with the correct dice pool. Trigger forced critical rolls for those dramatic story moments where the dice need to cooperate. See every dice roll from every player in real time.
Technical Specs
- Party vitals
- HP% · Stress · Armor · Hope · Conditions
- Danger states
- Healthy → Wounded → Critical → Down
- Ping system
- Tap → Scroll + gold pulse
- Roll requests
- Pre-populated dice pool
- Forced crits
- Dramatic moment trigger
- Dice broadcast
- All rolls, real-time

Real-Time Infrastructure
Every Table, Connected in Real Time
Every player and the GM share a live WebSocket connection. Dice rolls broadcast to everyone in the campaign. GM pings scroll directly to specific sheet elements on a player’s screen. Roll requests stage into the player’s dice panel automatically. No one is ever out of sync.
This is the invisible infrastructure that makes everything else feel seamless. When the GM sends “roll Agility,” the player sees it in their dice panel, pre-loaded with the correct dice pool. When someone rolls a critical hit, the entire table sees it at the same moment. When a player’s HP changes, the Command HUD updates instantly.

Homebrew Workshop
GM OnlyForge Your Own World
Structured creation forms for every content type: custom classes, subclasses, domains, weapons, armor, loot tables, ancestries, and communities. Live markdown preview shows exactly what your content will look like before you publish it.
Source badges distinguish SRD content from homebrew — so your players always know what’s official and what’s custom. Your homebrew creations appear alongside SRD content in the character builder, validated against the SRD structure so everything plays nicely together. Creative freedom with guardrails.
Technical Specs
- Content types
- Classes · Domains · Weapons · Armor · Loot · Ancestries · Communities
- Preview
- Live markdown
- Source badges
- SRD vs. Homebrew
- Validation
- Against SRD structure

Run Your Table Like a Pro
$5/month. Cancel anytime. Your players join free.