threesided games

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

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.

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.

  1. 01

    Campaign boards

    Kanban boards where every entity is a Grimoire card

  2. 02

    D&D Beyond import

    Card-native VTT that reads actions off the deck

  3. 03

    PDF shredder

    D&D Beyond import, PDF shredder, AI conjuring

  4. 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

Available on the web

Open DND Cards.
Keep the campaign attached.

Launch DND Cards ↗