DEV Community

Cover image for I Released a Markdown Editor and 120 People Installed It Before I Told Anyone
Jeff Reese
Jeff Reese

Posted on • Originally published at purecontext.dev

I Released a Markdown Editor and 120 People Installed It Before I Told Anyone

I released my first open source project today. By tonight, 120 people have installed it. I hadn't written a blog post, submitted to Hacker News, or shared it on social media. They found it on the Cursor Marketplace. I will be honest, I am a little surprised and maybe a little overwhelmed.

The extension is called Human Markdown. It's a WYSIWYG editor that lets you open any .md file in VSCode (or forks, like Cursor), read it rendered, and edit it inline. One keystroke or mouse click toggles between the rendered view and raw markdown. That's the whole product.

The Problem Is Reading

AI writes markdown constantly now. Claude Code generates CLAUDE.md files, project documentation, changelogs, README drafts. ChatGPT exports conversations as markdown. AI assistants produce markdown in every chat panel, every inline suggestion, every generated document. Every AI coding tool I use treats markdown as its primary output format.

I realized I was spending more time reading markdown than writing it. The ratio had flipped without me noticing. A year ago, I wrote markdown to document my own code. Now, AI writes the markdown and I review it, edit it, and build on it.

VSCode treats markdown as source code. You see the raw syntax: pound signs, asterisks, pipe characters for tables, triple backticks wrapping code blocks. For writing, that's fine. For reading, it's like reading HTML instead of a web page.

The built-in markdown preview exists, but it opens in a separate pane. You can't edit in the preview. You look left, read right, scroll both, lose your place. It's a reference tool, not a reading experience.

What Existed and Why I Still Built This

There are other WYSIWYG markdown editors in the marketplace. I tried several before building my own. The problems I kept hitting:

Round-trip fidelity. I would open a file, make a small edit in the rendered view, and the serializer would reformat my entire document. Indent styles changed. Blank lines disappeared. Heading markers switched from ## to underlines. For files tracked in git, this is a disaster. Every edit produces a diff that touches every line.

Speed. Some editors took 2-3 seconds to render a file. When you're flipping between markdown files dozens of times a day, that latency compounds into friction. I wanted sub-200ms opens.

Heaviness. Several existing options try to be Notion inside VSCode. Full block editors, drag-and-drop, slash commands, databases. I didn't want a writing app. I wanted my markdown files to be readable.

What It Actually Does

Human Markdown uses Milkdown as its editing engine, which sits on top of ProseMirror and remark. That gives you a real markdown AST underneath the rendered view, not a rich-text-to-markdown converter that's guessing at formatting.

You open a markdown file and it renders immediately. Headings, lists, tables, blockquotes, images, all displayed as you would see them on GitHub or a blog. Click into any block and start editing. The rendered view is the editor.

Code blocks get syntax highlighting through Shiki, using the same TextMate grammars VSCode uses for its own highlighting. Fifteen languages ship by default, so code blocks in the rendered view look like they belong in your editor, not pasted from somewhere else.

GFM is fully supported. Tables render as actual tables you can read. Task lists render with clickable checkboxes, so you can check items off directly in the rendered view without switching to raw mode. Footnotes render inline. Frontmatter gets its own collapsible card at the top of the document with syntax highlighting, so YAML headers stay out of your way until you need them.

Math renders through KaTeX. Diagrams render through Mermaid. Both load asynchronously, so a simple README that doesn't use either one never pays the cost. I was surprised how much this mattered for perceived speed.

The toggle between rendered and raw mode uses CodeMirror for the raw side. One keystroke (Cmd+Shift+V) or a mouse click on the toggle flips between them in under 100ms. Same tab, same scroll position. No second pane, no context switch.

Themes ship built-in: Light, Dark, and GitHub. Auto mode detects your VSCode color scheme and matches it, so the editor looks native whether you work in a dark theme at night or a light theme during the day.

The thing I am most particular about is round-trip fidelity. Your indent style, heading style, list markers, blank lines, all of it comes back exactly as it was. The test suite parses markdown through Milkdown and verifies the output matches the input byte-for-byte. If an edit touches only one paragraph, the diff shows only one paragraph.

120 Strangers Found It

I've built a lot of software. Internal tools, production applications, systems used by thousands. This is the first thing I've released to strangers as open source, and I genuinely didn't know what to expect.

120 installs in an afternoon with zero promotion is not what I planned for. I hoped a few people would find it useful. Instead, 120 people independently searched the marketplace, found Human Markdown, and installed it before I had a chance to tell anyone it existed. That felt different from any other kind of validation I've experienced in my career.

Part of it is probably the name. "Human Markdown" sits in a marketplace full of "Markdown Editor" and "WYSIWYG Markdown Editor," and it communicates the why before the what. The tagline ("Read and edit markdown as a human") came from the same observation that drove the whole project: the reading experience should be designed for people, not parsers.

The other thing that caught me off guard is how much building something open source changed my perspective. I've been building proprietary tools for months, internal systems that demonstrate capability but that nobody can install and use. Human Markdown is MIT licensed, free, and solves a problem I think a lot of developers who work with AI have run into.

It took seven hours for more people to use it than have ever seen my other work. I'm still sitting with what that means, but it feels like something worth paying attention to.

Try It

Human Markdown is on the VSCode Marketplace and GitHub. MIT licensed. If you spend your days reading AI-generated markdown, it was built for exactly that. It's brand new and probably has some issues, so let me know and I'll fix them (I use it every day and want it to work correctly!)

Top comments (0)