New Codex, scene cards, find & replace, and a rebuilt export

Write the whole book. Keep every word.

Memoire is a quiet, keyboard-first writing app with the tools a long project needs — a codex for your cast and world, scene cards, and manuscript-ready export. Everything lives as plain Markdown on your disk. AI is optional, and can run entirely offline.

Free & open source · macOS, Windows, Linux · No account

Try a writing style — same page, set in Settings.

The Lighthouse Keeper / Chapter Nine / The Lamp Room

The Lamp Room

The lamp had not been lit in eleven years, and still she climbed the stairs each evening at dusk, counting them aloud against the wind.

Forty-two — the same as the year her father stopped speaking. She had learned the number before she learned the word for it, and the sound of it in her mouth was the sound of the stair itself: worn granite, a hollow under the seventh tread, salt in every seam.

What she wanted was not the light. What she wanted was the climbing.

v7 · 153 words · 21% today ? · : · ⌘K
Focus mode engaging and releasing, on a loop.

Plain Markdown

Files you can open without us

Works offline

On a plane, in a cabin

No account

No telemetry, ever

AI off by default

Local or your own key

MIT licensed

Built in the open

Write

A quiet page that still knows your story.

Names from your codex light up as you type. The side panel keeps the scene's status, synopsis and cast in reach, and ⌘ . folds it all away when you just want to write. Esc brings it back.

The Ashborn / Part One / The Crossing

The Crossing

The ferry left VeyraVeyra · LocationHarbour city on the ash coast. Burned in the prologue; still smoking in Part One. an hour before dawn, and AriaAria · CharacterExiled heir who hunts the man who burned Veyra. Ash-grey eyes, burn scar on her left hand.Rival of Kael · 14 scenes stood at the rail with her scarred hand in her pocket, as if the water might recognise it.

Behind her, the Grey WardensGrey Wardens · FactionThe city watch, now answering to Kael. were still counting passengers. She did not look back — looking back was how KaelKael · CharacterCommander of the Wardens. The man Aria is hunting. found people.

v12 · 1,284 words · 68% today ?:⌘F

Hover the underlined names — the codex follows you into the prose.

Find & replace

New

⌘ F in the open writing, ⌘ ⇧ F across every writing you have. Match case, whole word, or a regular expression — then replace one, or all.

Kael Kaelen Aa ab .* 2 of 3 Replace all

…looking back was how Kael found people. By the second bell Kael had the harbour closed, and by the third the Wardens were asking for Kael's orders in writing.

Smart punctuation

New

Type like a typist, get a typesetter's marks. Backspace undoes any swap.

"quotes"→“quotes”

it's→it’s

wait -- no→wait — no

and then...→and then…

Link your writings

Type [[ to link another scene, or select text and press ⌘ K. ⌘-click to follow. Backlinks show who points here.

[[lamp

The Lamp RoomLighthouse / Ch. 9

Lamplighter's notesResearch

History that branches

Every save is a node. Step back with ⌘ ⌥ Z, write something new, and the old path stays — a branch, not a loss.

  1. v1 · 09:12
  2. v3 · 10:05
  3. v4a · 10:31 branch
  4. v4b · 10:47
  5. v5 · 11:02 · current

Type a colon. Run anything.

The status line doubles as a vim-style prompt. / opens a block menu for headings, lists and quotes.

:exportWord, PDF, EPUB…

:importScrivener, Word, Markdown…

:syncSync now

:ex

Also: typewriter scrolling · live outline · word goals without streaks · seven colour palettes · compact density · spellcheck · adjustable type size.

Plan New

The codex remembers your world, so you don't have to.

A sheet for every character, location, faction and item — each one a Markdown file in your binder. Memoire spots them in your prose as you write, maps where they turn up, and can fill a blank sheet from what you've already written.

Characters Locations Factions Items

A sheet per character — drafted from your pages.

Each kind starts with the fields writers reach for: role, appearance, goals, arc for a character; region and atmosphere for a place. Add your own, list aliases, link rivals and allies.

Left a field blank? Suggest from writings reads the passages where that character appears and drafts the missing pieces. You accept each one, or don't.

  • Per-binder codex, or a shared one every book can use
  • Rename an entry and carry the new name through your writings
  • Plain Markdown with YAML front matter — it syncs and versions like any note

Aria

aka Ari, the Ashborn girl

Character Location

Summary

Exiled heir who hunts the man who burned Veyra.

Role

Protagonist

Appearance

Ash-grey eyes, burn scar on her left hand.

Goals

Suggested from 6 passages

Find Kael before the Wardens reach the Citadel; reclaim her mother's seal.

UseDismiss

Relationships

Kael · rival Old Maren · mentor

Names light up as you type
Whole words only, longest match wins — "Iron Citadel" beats "Citadel". Hover for the summary.
Who's in this scene
The side panel lists everyone the open writing mentions, most-mentioned first. One click opens their sheet.
The assistant knows the cast
Ask about a scene and the relevant sheets ride along. Pin one for the whole chat, or leave one out.
Works without AI, too
Sheets, highlights and the mentions map are plain local features. Only "suggest" needs a model.

Ship Rebuilt

A manuscript an agent will open. A book a reader will buy.

Export one scene, a folder, or the whole binder. Pick what's in and in what order, add front and back matter, and get a file that's ready — not one you fix in Word afterwards.

Word
For agents, editors, Word or Pages.
PDF
Typeset — read, print, or send.
EPUB
Apple Books, Kobo, or KDP.
Web page & Markdown
One HTML file, or one combined .md.
  • Standard manuscript format, with a running head: MOREAU / THE ASHBORN / 12
  • Copyright, dedication, epigraph, foreword, afterword, acknowledgments, about the author
  • Table of contents, chapter page breaks, your own scene separator
  • A4 or US Letter, picked from your region; book settings saved per binder

Export

⌘⇧E

What

Whole binder — The Ashborn (24 writings)

Format

Word PDF EPUB Web page Markdown

Chapter headings — try one

Standard manuscript format

Running head

Leave out writings marked To Do · 3

Table of contents

Moreau / THE ASHBORN / 12

Chapter Three

The ferry left Veyra an hour before dawn, and Aria stood at the rail with her scarred hand in her pocket, as if the water might recognise it.

* * *

Bring your drafts with you.

Import keeps your order and your scene notes, and never overwrites a thing.

Scrivener Word (.docx) RTF Markdown folders Obsidian vaults

Optional AI

An assistant that waits to be asked — and knows your book when you do.

Memoire ships with AI switched off: no model downloaded, no key, nothing listening. Turn it on and choose where it runs — on your own machine, or through OpenRouter with your own key.

Ask your own notes

⌘ L opens a chat that searches your writing first — meaning, not just keywords — and shows you the passages it read before it answers.

When did Aria first see the Citadel?

Searched The Ashborn · 3 passages · 0.4s

Using Aria 📌 The Iron Citadel Kael

In Salt Road, from Maren's roof — she sees its lamps before its walls. That's before The Citadel Gate, so the reveal in chapter six is her second look, not her first.

Edits you accept, or don't

No ghost text finishing your sentences. Put the caret in a paragraph, pick one deliberate change — or type your own — and read the rewrite in place before you take it.

The lamp had not been lit in eleven years, and still she climbed the stairs each evening at dusk.

Still, each evening at dusk, she climbed the stairs.

Accept Discard
Polish grammar Improve clarity Make formal Shorten Expand Custom prompt…

On this device

Private by construction

Open GGUF models — Qwen, Llama, Mistral, Phi, DeepSeek R1 distills — download once and run offline. Metal on Apple Silicon, CPU elsewhere. Your writing has nowhere to go.

Or hosted

Bring a bigger model

Point it at OpenRouter with your own key and pick any model it offers. The key stays on your machine; switching back to local is a dropdown.

Or never

Leave it off

Leave the switch alone and Memoire stays a fast, plain editor. No model is fetched, no menu nags you to try it.

Backup & sync

Your backup is plain Markdown, somewhere you already know how to read.

Pick one home off-disk: a GitHub repo if you like history you can diff, a Dropbox folder if you'd rather never think about commits. Or neither — sync is optional.

Every save, a commit you own

Sign in with GitHub, name an owner/repo, and push with :sync — or let Memoire commit when you close it. Already have drafts on GitHub? Import pulls them down.

  • Plain Markdown commits — no proprietary format
  • Private repos; your token never leaves the machine
  • Works alongside the local branching history
Cloud Sync Connected

Repository

i-moreau/ashborn

Auto-push on exit
3 changed · 2 ahead Commit & push

Keyboard-first

Your hands never leave the keys.

Forget one? ⌘ / shows them all.

Search writings⌘K
Find in this writing⌘F
Find in all writings⌘⇧F
Focus mode⌘.
New writing here⌘N
Export⌘⇧E
Version history⌘U
Table of contents⌘⇧O
AI chat⌘L
Previous saved version⌘⌥Z
Link selected text⌘K
Command mode:

On Windows and Linux, ⌘ is Ctrl.

Download

Begin your archive.

A real desktop app — not a browser tab pretending to be one. Free, with no account to create before your first sentence.

On a Mac? One extra step the first time.

Memoire isn't signed with an Apple Developer certificate yet, so macOS quarantines the download and says the app is damaged. It isn't. Drag it to Applications, then run this once in Terminal:

xattr -dr com.apple.quarantine /Applications/memoire.app

It removes the quarantine flag from that one app and changes nothing else. Sorry about this — once the developer account comes through, builds get notarized and this step goes away.

Questions writers ask

Where do my files actually live?

In a folder on your disk (~/.memorie/notes by default, or wherever you choose). Binders are folders, writings are .md files, codex sheets are Markdown with a little YAML on top. Open them in any editor, today or in fifty years.

Does my writing get sent anywhere?

Not unless you ask it to. There's no account and no telemetry. Sync only runs if you connect GitHub or Dropbox. AI is off by default; with a local model nothing leaves your machine, and with OpenRouter only what the assistant needs for your request is sent, under your own key.

Is it really free?

Yes. Memoire is MIT-licensed open source. If you use a hosted model through OpenRouter, that's billed by OpenRouter to your key — local models cost nothing.

Can I move over from Scrivener or Word?

Yes. Import reads Scrivener projects, Word documents, RTF and folders of Markdown (including Obsidian vaults). It keeps your order, never overwrites anything, and tells you about anything it couldn't convert.

What does a local model need?

The default model is a small Qwen 2.5 (1.5B) that runs comfortably on a recent laptop — it downloads once, about 1.5 GB. Larger models are there if your machine can hold them. Apple Silicon uses Metal; everything else runs on the CPU.

Is it finished?

It's young and moving fast — expect rough edges, and please report them. On the way: a mobile companion for reading and capture, margin notes and tracked changes for review, and a plugin API. No dates; follow the repo to watch them land.

Open source

Built in the open. Come break something.

SvelteKit on a Rust core, in Tauri. Bug reports with the file that caused them, pull requests, and blunt opinions about the typography are all welcome.

bun install && bun run tauri dev