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

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