Tabletop tooling
Mirabilis Beyond
Mirabilis Beyond is a web app for creating and managing characters. Players edit abilities, drives, gear, and health; a shared vault holds campaign items; optional AI can generate portraits and item art. The public demo turns generation off to keep costs down.
Live public demo

Why it exists
Campaign character state outgrows spreadsheets and paper mid-session. I built an app so the table can edit sheets, browse a shared vault, and keep art and descriptions in one place — with separate environments so local work can't overwrite production.
How it's built
Next.js API routes store characters and vault items in MongoDB Atlas, with a database per environment. Images live in Vercel Blob under prod/dev/demo prefixes. OpenAI handles optional image and description generation; the public demo disables that so visitors can explore without using API budget.
What's interesting
Full product surface: domain model, light access control, cloud data design, blob storage, feature flags for paid AI, and a UI that has to work during a real session.
Highlights
- Character CRUD with abilities, drives, gear, coins, health, and resolve
- Stackable inventory with drag-and-drop vault management
- Environment-separated MongoDB (dev / preview / prod) plus Blob prefixes
- Demo mode disables paid AI; live table uses a server-side password gate
Stack
- Next.js
- TypeScript
- React
- MongoDB Atlas
- Vercel Blob
- OpenAI image gen
- MUI