← all projects
The Scribe's Tower
LIVE · OPEN SIGNUP · scribestower.com

The Scribe's Tower

A campaign workspace and optional AI co-DM for the people who run the table.

TTRPGcampaign codexAI co-DM5e · PF2e

I run games. The Scribe's Tower exists because the part of being a Dungeon Master I love — being present at the table, reading the room, improvising — kept losing to the part I don't: holding an entire living campaign in my head. Months of sessions, dozens of NPCs, factions with their own agendas, a half-dozen threads I'd promised to pay off and was quietly afraid of forgetting. Most tools for this are filing cabinets — better storage, same problem. I wanted a codex that stayed out of the way, and an assistant that remembered with me when I asked it to, so I could stop being my campaign's database and go back to running it.

The central decision — the one everything else hangs off — was how the Tower holds a whole campaign without drowning the AI in it. A year of play is far too much to hand a model on every turn, and the naive fix, summarize everything and stuff it in, just trades one kind of forgetting for another. So the Tower keeps exactly one thing always in context: a campaign summary that evolves after every session and stays deliberately bounded — the working memory, not the archive. Everything else — NPCs, locations, factions, items — lives as records pulled in on relevance, and because each record is wired into the session history where it surfaced, the AI can trace a thread back through actual play instead of guessing. What didn't make the cut is as telling as what did: I'd wanted session summaries and recurring records loaded alongside the campaign summary, and both had to go — they bloated the context for marginal recall, and the prompts had to be tightened and split to match. The whole system is really an exercise in choosing what not to remember at any given moment.

The second decision was admitting the Tower has two completely different jobs, and that pretending they were one was making both worse. Prep is unhurried: you're worldbuilding, and the assistant should ask questions, push for detail, help you think. A session is the opposite — the table is waiting, the DM has no time to talk and think, and the worst thing the tool can do is get chatty. So the two paces are genuinely different builds. The session side leans on lighter, faster models, because speed beats depth when six players are staring at you. The core prompt is swapped out — inquisitive in prep, proactive at the table. Even the toolset changes: you are not rolling up a random encounter table in the middle of combat, so those tools simply aren't there during play.

The third decision was who this is for, and the honest answer is two people who don't trust each other — the DM who wants the AI to carry the bookkeeping, and the DM who suspects any AI will quietly take the campaign out of their hands. I didn't want to choose between them. The resolution is that the AI is never more than a tool over a codex you own outright. It can author records, fully — but there's nothing it does that you can't do by hand, edit, or overrule, and you can dial exactly how much it fleshes out versus leaves blank for you to define. The skeptic can use the Tower as a clean campaign library without touching the AI at all. The enthusiast can let go of the reins: hand it the story to track, lean on it for tactical support in combat, or, on the higher tiers, connect an external AI over MCP and drive the codex from the outside. Same tool — the only difference is how much rope you choose to take.

Why it matters

The Scribe's Tower is the biggest thing I've built, and the one where the engineering and the wanting are the same act: I'm the user I'm building for, and every decision gets tested against a real table on a real Saturday. Somewhere along the way it stopped being a finished tool and became the place I solve the next problem — when I hit a fresh snag in my own DMing, some bookkeeping I keep doing by hand or a lookup that's always a beat too slow, I don't go hunting for something that fixes it. I build the fix here, in a system that already knows my campaign. The thread running through all of it is restraint — remember less so you recall better, say less at the table so the DM can say more, automate exactly as much as the person in the chair actually wants. It began as the tool I needed to keep running my own game; now it's open to everyone — the codex free on its own, the AI there when a DM actually wants the extra memory — because the problem was never only mine.

What it does

A codex you own

NPCs, locations, factions and items as clean, linked records — a campaign library you can run entirely by hand, with the AI switched off.

Conversational worldbuilding

Chat naturally with a co-DM that creates NPCs, encounters and lore — living summaries keep what it remembers coherent over months of play.

Live session support

Initiative tracking, improv prompts and SRD stat lookups for 5e and Pathfinder 2e — at the speed of play.

Handouts & export

Styled player handouts via public links, and a full export of your codex to Obsidian.

Built with
Next.jsTypeScriptClaude (Anthropic)PostgresMCP / D&D 5e SRD
Visit scribestower.com

Come knock on the door.

Got a strange idea, a collaboration, or just want to argue about history and dice math? I answer to all of it.

hello@malkav.pro
elsewhereMalkav's Forge ↗GitHub →The Log →
malkav.proProducts under Malkav Production · built between lucid intervals · © 2026