Markdown Editors Are Everywhere, but I Built One Anyway

Honestly, the Markdown editor space is flooded—on par with todo apps. I counted in the App Store: notes and productivity tools that support Markdown add up to at least seventy-something, and that does not include all the “wild” Markdown editors that never made it into the store.

image

From Typora, Bear, and Obsidian to note apps, wikis, and online editors, the list of ways to write Markdown is endless. Plenty of people have stopped caring about Markdown altogether—they just let AI write inside Vibe Coding tools, CLIs, and CoWork-style apps.

So on paper, building another Markdown editor looks like a midlife hobbyist invention—the kind of thing that might just add more digital junk to the pile.

I built one anyway.

It is called Sheaf.

image-1

01. The trigger was simple: writing still benefits from a human hand

Last year I used AI to draft a lot of posts. Read counts often stayed in single digits. Then one day, almost by accident, I had AI outline a piece and I edited it myself—and the numbers looked noticeably better.

Writing still needs some sincerity. All-AI drafts feel off. Right now, AI prose reminds me of New Year’s mass texts from the 2000s:

“Happy New Year! Three gifts for you: a cap of good fortune, a coat of peace, and a red envelope of prosperity. Wishing you joy and success!”

Fresh at first. Sickening after the tenth copy-paste.

If someone still sent me that kind of glittery bulk greeting today, they would deserve a slap.

So if I want a decent writing experience, I need an editor I actually like—enough control to finish a draft, copy HTML into WeChat Official Accounts, or export social cards and long-form promo images.

AI should be there too: outline, spell-check, translate—done in one tool.

I looked around. Nothing quite fit.

Old habit kicked in: fine, I will write my own.

02. The cost of building software has dropped to something unreasonable

A year ago—or even a few months ago—I probably would not have started.

A desktop Markdown editor sounds like a lot.

CodeMirror for editing, markdown-it for preview, KaTeX for math, Mermaid for diagrams, export styling, Tauri for the desktop shell, plus file I/O, shortcuts, dark mode, local storage, auto-update, Mac code signing…

Not anymore.

With Cursor, Claude Code, Codex, and the rest, a lot of what used to take one or two weeks—or one or two months—can become a usable v1 in a few evenings.

Sheaf followed the same arc as my other small tools.

Start with an MVP: open a local Markdown file, edit on the left, preview on the right. AI-generated .md files were awkward to preview anyway.

Then: no outline felt wrong, so I added a chapter outline.

Long-form writing in pure split view was not always comfortable, so I added split, edit-only, and preview-only modes.

Since I often post to WeChat, I added WeChat HTML export with inlined styles—copy and paste. That echoed a writing tool I built for my wife last year; that one had grown far too feature-rich.

Then social cards, long images, and PDF export came along for the ride.

image-2

At that point, scope was already running away.

Once you realize “this might only take a few chat rounds,” it is easy to keep adding.

AI rewrite too?

But AI must not silently overwrite the draft—that is terrifying. Show me a diff first.

Before applying AI edits, auto-save a history snapshot so I can roll back if something breaks.

image-3

image-4

Auto spacing between Chinese and English?

Mixed CJK, Latin, and numbers without gaps drives me nuts.

Drag-and-drop and paste-to-insert for images?

Otherwise every screenshot means save file, copy path, repeat.

A “simple Markdown editor” became a local-first macOS writing app.

03. Not here to replace anyone—just to fit me

I am not trying to compete with Typora, and I am not measuring Sheaf against Obsidian.

Those tools are mature; each owns a strong use case.

Sheaf is a small “write to publish” desk for myself.

The positioning is straightforward:

Open local Markdown files and write.

Use the outline when structure matters.

Bring AI in for checks and polish—but never let it rewrite the whole draft in the dark; show me what changed.

Export WeChat HTML, Xiaohongshu cards, long images, or PDF when done.

Files stay local—no account, no cloud sync required.

image-5

I am leaning harder into local-first.

AI too.

AI in Sheaf is not “one-click viral article” energy.

I want an editor sitting beside me.

Select a paragraph and make it more conversational; run a typo pass; tighten a section.

Whether to apply the change is still your call.

AI suggests; you decide.

That is my baseline for AI writing tools now.

04. Vibe Coding makes bespoke software feel real

As I mentioned in my last post, I am almost inventing needs for myself.

The Cursor subscription sits there every month—leave it unused and it feels like waste.

Before, if software annoyed me, I would tolerate it or hunt for an alternative.

Now it is different.

The slightest annoyance and a thought pops up:

Maybe I should build my own?

Software used to be heavy assets. You needed to code, know frameworks, set up environments, read docs, fix bugs, design UI, package, and ship.

AI flattened a lot of that.

Not “no skill required”—but the distance from idea to something usable got shorter.

A regular developer, after work, after the kids sleep, can spend a few hours or a few nights and ship something that would have looked respectable years ago.

That was hard to imagine before.

The other side is obvious too: when everyone can ship fast, software inflates.

AI tools everywhere, note apps everywhere, todo apps everywhere, Git clients next.

Maybe everything will be everywhere someday.

What gets scarce is whether you have a real use case, patience to polish, and willingness to keep a “small tool” stable.

Vibe Coding feels best from 0 to 1.

The hard part is 1 to 1.1, 1.2, 1.3.

Because that is not showmanship; it is detail work.

Why does export styling break in the WeChat backend?

Why do image paths preview fine locally but fail in PDF?

How do you keep AI diffs from mangling the original?

Dark mode, system title bar, auto-update, Apple Silicon vs Intel builds, cross-platform installers—each piece gets patched and tested bit by bit.

So I believe AI did not kill engineering.

It lowered the bar for “first version code” and made the truly annoying parts easier to see.

05. Building this tool is also about finding a comfortable way to speak

There is a personal reason too.

These past few years I have needed a steady place to put ideas out—WeChat posts, blog posts, READMEs, product docs. All of it is really just organizing what I think.

I used to think shipping the product was the main job.

Now I think explaining it matters just as much.

If nobody knows why you built something, what problem it solves, or who it is for, it disappears in the GitHub and internet feed.

But writing cannot be painful.

If every draft ends in hours of layout work, I stop writing.

So Sheaf is not only a Markdown editor.

It is my output pipeline:

Write, preview, AI edit, layout, export, publish.

Preferably in one place.

It will not fit everyone.

If you live in Obsidian with plugins and a full knowledge base, Sheaf is probably too light.

If you only write in the WeChat backend and never touch Markdown, you may not need it.

If you are like me—long posts, tech docs, product copy, WeChat articles—and you want local files plus a smooth path from draft to export, it might help.

Closing: crowded does not mean closed

When a category looked crowded, my first reaction used to be: others already did this, skip it.

That has shifted.

Others building something does not block you.

The market does not need another Markdown editor; I needed one that fit me better. Ship an MVP in days, polish for weeks, put it out for anyone curious—that is enough.

The AI era will keep producing software like this: not for fundraising, not to “disrupt” an industry, not to beat an incumbent—just someone’s habit turned into a tool.

Some will stay rough. Some will have no users. Some may grow into a real small product.

I do not know which bucket Sheaf lands in.

For now, it already makes writing easier for me.


I am a frontend developer with a day job, doing laid-back Vibe Coding side tools in my spare time. If you write Markdown, WeChat posts, or long technical pieces—or you like local-first small tools—give

Sheaf a try (the site demo has a few details worth noticing on desktop).

GitHub: ginuim/Sheaf.

For how to write Skills and distribute them on a team, the Agent Skills series on this site goes deeper.

You can also find my other tools at reaidea.com.