Tabletop companion / Independent prototype

Tablebound

A mobile-first tabletop companion bringing characters, inventory, shared rolls, lore and reviewed session material into one campaign workspace.

Tablebound sample campaign — actual browser screenshot

Implementation

A campaign, organized around the table.

Built with
React 19 · TypeScript · Vite · CSS · Zod · Cloudflare Workers / Durable Objects
Interaction decisions
React components receive campaign state and explicit command callbacks. Transcript review distinguishes in-world dialogue, table chatter and unreviewed material; exports preserve source references. The full app also includes a paired display route.
Iteration & learning
The guided character creator reduces a dense rules workflow to successive choices. Transcript labels and reviewed excerpts keep uncertain speech from silently becoming story facts.
My contribution
Product and workflow direction, interaction design and AI-assisted implementation. I shape the experience, evaluate working builds and direct iteration.
What to try
Start with Characters and Inventory on desktop, or Party and Pack on a phone. Chronicle appears as Journal on mobile. The demo uses local sample data.
Scope
The public sample uses local demo data. Online multiplayer, TV pairing, recording and paid generation are not demonstrated here.
Inspect the frontend source sample ↗

The opportunity

Less administration.
More shared imagination.

A tabletop group moves between character details, possessions, rolls, lore and scene material. The product keeps these connected without treating generated suggestions as the final authority.

The approach

Use a readable mobile-first workspace with explicit actions. Separate player and DM responsibilities in the full application. Provide a local sample campaign so people can understand the product before creating an account.

Demonstrates React interfaces, state-driven workflows and a deliberate boundary between AI suggestions and human decisions.