
DND Suite · Build the campaign
DND Cards
Every piece of the world becomes a card.
Create, import, arrange, and connect NPCs, spells, items, locations, and quests. The grimoire is both campaign home and the source deck for every other tool.
- Web app
- Live now
- Shared campaign

Interactive digipak for DND Cards. Drag to rotate when pointer input is available.
Its job in the party
Every piece of the world becomes a card.
Create, import, arrange, and connect NPCs, spells, items, locations, and quests. The grimoire is both campaign home and the source deck for every other tool. The family page supplies the shared context. This page earns its keep by showing the product itself, how it works, and where it fits into the session.
Inside the product
Show the interface at useful size.
Each subproduct gets its own screenshot sequence and captions. Small galleries can stay short without collapsing into a generic two-image grid.


01 / 02
What it does
Features with a reason to exist.
The production copy can expand each item with a real workflow, screenshot, or proof point. The product page keeps that shared family visible while giving this tool room to explain its own job.
- 01
Campaign boards
Kanban boards where every entity is a Grimoire card
- 02
D&D Beyond import
Card-native VTT that reads actions off the deck
- 03
PDF shredder
D&D Beyond import, PDF shredder, AI conjuring
- 04
Card-native VTT
Same Supabase login as DND Chat, DND Note, and DND War
Build anatomy
The stack behind this instrument.
Current repository technology is shown here instead of the older Netlify-era stack. The shared packages explain why the products behave like one family.
- 01Next.js 16
- 02React 19
- 03Supabase
- 04PixiJS
- 05Three.js
- 06Cloudflare
Shared across the suite
One campaign spine
- Supabase auth and campaigns
- Shared Grimoire card UI
- Dice, Oracle, billing, and chrome packages
- Next.js 16 and OpenNext on Cloudflare


