A writing app for long projects: a library of sheets rather than files, goals per document, and publishing straight to blogs and ebook formats.
Build me a writing application that replaces Ulysses — and know why this is ALMOST. The editor is buildable. What is not, quickly, is **a library that holds a whole book**: thousands of sheets, instant search, drag between groups, and nothing ever slow or lost. That reliability at scale, plus the export that turns a manuscript into a formatted document, is what the subscription buys. STACK - CodeMirror 6 as the editing engine, with decorations doing the rendering. Do not write a text editor - A native application, or a PWA that works entirely offline - SQLite on device with FTS5 - An optional sync server: Node 20+ with Fastify, storing ciphertext only THE LIBRARY, WHICH IS THE PRODUCT - The unit is a sheet, not a file: a chapter, a scene, a section. A book is a group of sheets in an order - Groups nest, and a group can be a filter — a saved search that behaves like a folder. That is how a long manuscript stays navigable - Thousands of sheets must load instantly. Index at write time, virtualise the list, and never scan on read - Drag a sheet between groups, reorder within one, split a sheet in two and merge two into one. Splitting and merging are what writers actually do to a draft, and most applications make them awkward - Word and character counts per sheet, per group and for the whole manuscript, computed at query time - Never lose anything: every save keeps a version, and there is no delete that is not a trash with a retention THE EDITOR - Markdown rendered in place, with the syntax marks hidden except on the line the cursor is on. That reveal-on-cursor rule is the whole trick, and it is implemented as a decoration layer over plain text - Attachments per sheet: notes, keywords, an image, a goal. Kept beside the text rather than inside it - A goal per sheet or group — a word count with a progress ring — which is the feature that gets a book finished - Focus mode dimming everything but the current paragraph, and typewriter mode keeping the cursor line centred - No formatting toolbar. The point is that the writer never leaves the keyboard EXPORT, THE OTHER HALF - To PDF, DOCX, EPUB and HTML, from a style that is a file rather than a setting - A style controls the type, the page, the heading hierarchy, the running header and the page numbers. Paged CSS for the PDF, with widows and orphans set to at least two — a heading alone at the foot of a page is the defect everybody notices - EPUB properly: a table of contents built from the headings, correct metadata, and a file that passes a validator. An invalid EPUB is rejected by the shops - Export a group and everything under it, in order, as one document. That is how a manuscript leaves - Placeholders for a title, an author and a date, filled from the group's own metadata SEARCH AND SAFETY - FTS5 across every sheet, instant, with filters by group, keyword and date - A filter saved as a group, so 'every scene tagged unfinished' is a place rather than a query you retype - Everything is plain text underneath. Whatever the storage format, an export to a directory of Markdown files must be one command, and it must round-trip - Backups automatic and local as well as any sync SYNC - End-to-end encrypted: the server stores ciphertext and reads nothing - Ordered by a server counter, never a device clock - Conflicts keep both versions as a conflict copy and say so. Never merge, never silently choose — this holds somebody's book - Works entirely without it WHAT NOT TO ADD - Collaboration. This is a tool for one person writing something long, and every collaborative feature makes the single-writer case worse - Analytics. A writing application knows what you are working on OPERATIONS - If there is a server: .env with DATABASE_PATH, BASE_URL, SESSION_SECRET; migrations on boot; nightly backup of ciphertext WHAT MATTERS MOST The library at scale and the export. Put a real manuscript in it — a hundred thousand words across two hundred sheets — and confirm search, reordering and export are all instant. Then export it and read the PDF.
What you lose
- A library model that keeps a book's worth of sheets organised without a folder tree
- Sync across Apple devices with reliable conflict handling
- Direct publishing to blogs and export to ePub, which is more fiddly than it sounds
If you would rather not build
- Obsidian with a long-form plugin
What it costs
read from their page 15 Aug 2026
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $5.99/mo | — | 15 Aug 2026 |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Zettlr
$0Open-source long-form Markdown writing with export through Pandoc.
Zettlr/Zettlrfree · open source
Why this verdict
our own opinion · changed only by a person
58/100
Verdict kinda at 58. Files plus Pandoc cover the mechanics; the library experience and Apple sync are what the subscription actually buys.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about Ulysses
answered from the record above
Is Ulysses free?
No — the plan we track is $5.99 a month. Around $5.99/month billed monthly, roughly $3.75 a month annually, across Apple devices.
Can you replace Ulysses by building your own?
ALMOST. A weekend of work, and real gaps remain. Replacement score 58 out of 100, build time a weekend. Read what you lose before you decide.
How much does Ulysses cost?
$5.99 a month on Subscription — $71.88 a year. Recorded 10 Aug 2026.
What do you lose by replacing Ulysses?
A library model that keeps a book's worth of sheets organised without a folder tree; Sync across Apple devices with reliable conflict handling; Direct publishing to blogs and export to ePub, which is more fiddly than it sounds. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Ulysses?
Yes: Zettlr, Pandoc. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

