A few days ago, I had some time off. Naturally, I did what any well-adjusted adult would do. I prepared a Dungeons & Dragons session.
I’m currently running an Eberron campaign, and somewhere around session three, I ran into a very specific problem. Not a dramatic, story-related crisis. The campaign itself was fine. The world was growing, the players were engaged, and everything was moving in the right direction.
The problem was my notes.
At some point, they had stopped being helpful and started becoming… unreliable. Not messy in a charming, creative way. More in a “why does this NPC have three different names and which one did I use last time?” kind of way. The world kept expanding, as it should, but my system for tracking it absolutely did not. Characters, factions, locations, plot threads, everything was multiplying, and I was slowly losing control of it.
There is a very particular moment as a DM when you realize you’re no longer confidently running the world. You’re reacting to it, trying to remember what you said three sessions ago, hoping your players don’t notice the inconsistencies.
That was the moment I decided to fix the problem in the most reasonable way possible.
I built an app.

Your friendly DM-Tool
I had been hearing about “vibe coding” and thought, sure, why not. How hard could it be. Which, in hindsight, is exactly the kind of thought that leads to unnecessary projects.
The original idea was small. I just wanted a clean place for session notes. Something structured, something searchable, something clean and simple.
That idea lasted about five minutes.
Very quickly, it became clear that notes alone wouldn’t solve the problem. The issue wasn’t that I didn’t write things down. The issue was that nothing was connected. An NPC existed in one place, a faction in another, a location somewhere else, and the relationships between them only existed in my head, which, as established, was no longer a reliable database.
So the app grew.
It became less of a notebook and more of a control center. Characters, factions, locations, quests, items, bits of lore, even a calendar. But the important part wasn’t the categories. It was the connections. An NPC isn’t just a name on a page anymore. They exist in a place, they belong to a faction, they have a history with the party, and they have opinions, usually negative ones, for reasons that are entirely my players’ fault.
What started to emerge was not just a collection of notes, but a kind of living map of the campaign. Something that reflects the current state of the world instead of a pile of disconnected ideas I have to mentally stitch together every time we play.
To be clear, this is not a planning tool. It does not tell me what to do next. It does not design encounters or fix pacing or prevent my players from derailing everything within the first fifteen minutes. That part remains very much my responsibility.
What it does do is answer the questions that usually cause panic in the middle of a session. Where is everyone right now? What do the players actually know? Which NPCs have they met, and what did I say about them? What piece of nonsense did I improvise weeks ago that has now become canon?
In other words, it keeps track of the state of the world, which turns out to be exactly what I was missing.
The surprising part is that it works. The app is still technically in beta, but it has been stable so far. No crashes, which I don’t entirely trust, but I’m choosing to take the win.
By default, everything is stored locally in the browser. Since I tend to switch between devices when preparing and running sessions, I added a simple export and import system using JSON files. It’s not particularly elegant, but it is reliable. If the file sits in a synced cloud folder, I can move between machines without losing anything, which is the only feature I truly care about at this point.
I have not tested what happens if two devices edit the same file at the same time. That feels like something that would end badly in a very creative way, so I’ve decided not to find out.
There’s a short manual, but realistically, the app is meant to be explored. That’s also how it was built. If something breaks, or if you have ideas for how it could be better, I’d genuinely like to hear about it.
I’ve been using it for the last few sessions now, and I have to admit, it’s actually helping. Which is slightly inconvenient, because now I have to maintain it.
Then again, I built it to fix my own mess, so I might not be the most objective judge here. You can download the App and read the manual here.




So, I did a very stupid and time-consuming thing: I rewatched Smallville. Yes, Smallville. The early 2000s WB show where Tom Welling’s Clark Kent spends ten (!) whole seasons not wearing the Superman costume. It’s a mix of teen soap, comic book melodrama, and weekly meteor-freak shenanigans. Hardly “peak TV.” And yet, watching it again, I realized something: I kind of miss the 22-episode season.
I’ve been busy—not so much with writing but with other things—and I’m finally ready to talk about it. Some of you might have noticed that my YouTube channel is on hiatus. I have ideas for new videos, but I’ve found another area where I’m better suited.