FD
About me
My Experience
My Projects
My Skills
My Hobbies
/

Let's Build Something Amazing

Always excited to collaborate on interesting projects and explore new ideas.

Contact me on LinkedInGitHub

Amiens, France

Psst... my brother codes too!
© 2026 Florian Douay•Built withand lots of
Next.js • TypeScript • Tailwind CSS • Framer Motion • Three.js
Back to projects

Campaigns of the Mist

Live appHomepage
Sidebar
↶ Undo
Redo ↷
Drawer
Dice Tray
Edit Mode
Save Character
Export Character
Reset Character
Settings
What's new
New Character
Alaric Vane×
+
Alaric Vane
Burned
123456
Hungry
123456
Thick FogSlick Footing
Hero Card
Alaric Vane
Fellowship relationships
CompanionRelation
PROMISE
Quintessences
Hero Card
Backpack
hemp rope
hooded lantern
dried rations
chipped flint
road journal
Personality
POWER • WEAKNESS
Resourceful
never backs down
tinkerer
judges the idle
Quest
Prove the village wrong about the name he carries.
ABANDON
IMPROVE
MILESTONE
Thaumaturgy
POWER • WEAKNESS
Ash Oath
word given
inherited blade
bound by the vow
Quest
Keep the promise sworn over the ashes.
ABANDON
IMPROVE
MILESTONE
Add…
Add Card
Add Portrait
Add Journal
− 90% +

A campaign management workspace for tabletop role playing games like Legend in the Mist, grown from a single character sheet into a home for a whole campaign.

Overview

Campaigns of the Mist is a workspace for running tabletop role playing games built on the Mist Engine. It began as a character manager, and it now holds a full tabs system, in app markdown notes, organizable whiteboards with freehand drawing and several rich element types, and a linking system with a navigator that maps out how everything connects. What started as a place to keep one character sheet became a place to run an entire game.

Why it exists

It began during the Legend in the Mist Kickstarter, as a very basic and rigid character sheet for the demo. My group needed somewhere to keep their characters while we tried the game, so I built it. I never set out to make a workspace. Each version simply grew out of asking what the app could do next.

How it grew

  1. Once the Kickstarter ended, I rebranded that first version as the Alpha and shipped a full rewrite. Character sheets became dynamic, with cards you could create and reorder, backed by a file system called the Drawer that kept your saved elements in folders.
  2. Next came the Mobile update, a version of the interface rebuilt specifically for phones rather than squeezed onto them.
  3. Then the 2.0 update rebranded the app to Campaigns of the Mist and turned it into a full workspace, adding the notes, the whiteboards, the linking system, and the rest of what it carries today.

Under the hood

The app has been completely rebuilt on IndexedDB, giving it the room to store characters, notes, whiteboards, and the links between them without straining the browser. The character system stays fully typed as it adapts to the different Mist Engine games, and the linking system threads every note, board, and element into one navigable map. All of it runs on the device, offline and installable.

Where it stands

I still actively maintain and update Campaigns of the Mist all alone, with the only external help being localization contributors. More than anything, the project is a testament to my curiosity, and to a willingness to build things because they are worth building, even when I have never built anything like them before. It is proof that I would rather face an unfamiliar concept head on than step around it, and that I can adapt as I go.

Technology Stack

ViteReactTypeScriptIndexedDBTailwindPWAShadcn/uiAstroVercel
Live appHomepage