Calliope

The app

The Map

Calliope's model of your book's world — the characters, places, and facts you've established, and everywhere they appear. It's the memory that keeps a long book consistent.

The Calliope Map — the cast of a book grouped by kind, with mention counts and memory states

The Map — your cast and canon grouped by kind, each fact with its mentions, its memory, or still unlinked.

On this page

Somewhere around chapter twelve, you can’t hold the whole book in your head anymore — which eye was grey, whether the inn had a name, when exactly the letter arrived. The Map is where Calliope holds it for you.

Facts

The Map is made of facts. A fact is one thing in your canon — a character, a location, an object, a faction, whatever you need to track. Each fact has:

  • a name — its primary label;
  • a kindcharacter and location come as defaults, but you can name any kind you like (object, faction, event…);
  • aliases — the other names your prose uses for the same thing. Kata, Katarína, and Mrs. H. can all be one fact;
  • attributes — plain key/value notes you declare, like eyes: grey or home: Prague;
  • a summary — free-text notes on who or what it is and where it’s going.

A fact’s real identity is separate from its name — so renaming it, or giving it a dozen aliases, never loses track of what it is. That also means two different characters can share a name (a father and son both called Marcel) and Calliope treats that as perfectly normal, not an error.

Mentions

A mention is a place in your prose where a fact appears. Facts count their mentions, and a fact’s card shows where it’s referenced across the book, so you can click straight from “who is this again?” to the scenes they’re in. Mentions are anchored to the identity of the fact, not the spelling, so they survive renames and merges.

Every fact is in one of three states, shown right on the Map:

  • linked — it has live mentions in the current prose (“12 mentions”);
  • memory — it was mentioned once, but the prose that referenced it is gone. Calliope keeps the fact rather than silently dropping your canon;
  • unlinked — you’ve noted it, but it hasn’t appeared in the prose yet.

Recognising names as you write

You don’t have to tag anything for Calliope to know your cast. As you write, the editor recognises the names and aliases already on your Map — computed live, never stored, so deleting and retyping a name just re-recognises it. Hold ⌘/Ctrl and recognised names light up; ⌘/Ctrl-click one to jump to its fact on the Map, like go-to-definition for your characters. Without the modifier held, your prose looks like ordinary prose — the recognition is quiet by default.

The recognition is case-aware, so it stays quiet where it shouldn’t speak up. A proper-noun name is matched exactly as written — nickname a character Fade and the word fade in a sentence won’t light up as them; only the capitalised Fade does. An ambiguous alias — a bare “She”, or a common word like “amber” — is still saved on the fact, but it isn’t auto-highlighted, so it can’t silently link every occurrence in the book. And when two names could both match, the longest one wins: Purebloom Saint links to that character, not to a different Saint.

For the rare case the default gets it wrong, each entry has a Name matching setting: Auto (the smart behaviour above — right for almost everything), Always case-sensitive, or Ignore case (for a lowercase-styled name, or a Concept you want matched whatever its case).

Linking every mention at once

A fact’s editor has a ⚭ Link all mentions button: one click anchors every occurrence of that name across all your chapters, instead of linking them one at a time as you meet them in the prose.

Possible mentions

Recognition is deliberately conservative — it would rather miss a few than cry wolf. 🔍 Possible mentions is how you catch the ones it left alone: it surfaces spots that might be this entity but aren’t linked, each with a snippet of the surrounding prose and a one-click Link. It looks for three kinds of miss:

  • Different capitalisationfenna where you meant Fenna;
  • Ambiguous nicknames — occurrences of a nickname the auto-linker skips;
  • Possible typos — a misspelled name like Aelreina for Aelraena.

Nothing links until you click. The app proposes; you decide.

Drafting a summary with AI

An entry with no summary yet shows a ✦ Draft with AI button. It reads the passages where that character or place actually appears and proposes a one-line summary — which you accept or edit; it never fills the field in for you. It’s worth doing: a filled summary is part of what the AI companion reads, so it helps the AI understand your cast, too.

Detecting entities with AI

When you’d rather not build the cast by hand, run entity detection on a chapter. Calliope’s AI reads the chapter and proposes characters, places, and other entities it found — resolving variant spellings against your existing canon so Kata and Katarína come back as one proposal to merge, not two new strangers.

It only ever proposes. You review each suggestion and accept it — which creates or links the fact and anchors the mention in your prose — or reject it, which leaves no trace. Nothing is written to your Map without your say-so. Detection calls Calliope’s model, so it spends credits; see the AI companion and credits.

Tidying the cast

Long books accrete duplicates. Find duplicates surfaces pairs of facts that look like the same thing — by meaning when Calliope’s semantic layer is available, and by name similarity otherwise — and offers to merge them. A merge is deliberate and non-destructive to your canon: you choose which fact to keep, and it absorbs the other’s aliases, attributes, and every mention before the duplicate is removed. You confirm each one; nothing auto-merges. Merging is free.

You can also filter the cast list to find someone quickly, and edit any fact’s name, aliases, attributes, and summary by hand at any time — the Map is always yours to correct.

You don’t even have to open the Map to do it: ask the AI companion to rename, merge, or add an entry from chat and it makes the edit for you — the Map updates live, and your prose is never touched.

A note on how the matching works

Calliope’s better duplicate-finding uses embeddings — a semantic sense of which facts mean the same thing — and that runs when you’re signed in. The cost of computing embeddings is absorbed by Calliope; it never touches your credits. Working anonymously, or offline, the Map falls back to deterministic name matching, so duplicate-finding and recognition still work — just by spelling rather than meaning.