One Gym Session, One Cell Phone, One Working App
Sometimes simple is best. I wanted a basic markdown editor. VS Code with a markdown extension works, but it’s VS Code. I don’t need a full IDE open just to write a blog post or draft some notes.
The browser-based ones want an account, or they lose my draft the moment the tab closes, or they render with some CDN stylesheet that looks nothing like where the post is actually going to end up.
So I built a simple editor. A small WPF app, one window, editor on the left, live preview on the right.
~
Where It Started
This one didn’t start at a desk. I was in the middle of a 5×5 session, resting between sets, phone in hand and pulled up Claude Dispatch right there to sketch it out. That’s the appeal of Dispatch for me, the idea doesn’t have to wait for me to be sat down with a machine open to go anywhere.

Before I committed to anything, I had Claude Dispatch put together an HTML preview of what the thing might look like: dark theme, split panes, toolbar etc. so I could see the style of it before deciding it was worth building. That’s the bit I’d tell anyone using these tools to do. Don’t jump straight to code. Get something you can look at first. It took a rest period or two, and by the time I was back under the bar for the next set, I had a rough visual and a decent idea of the layout.

Once the framing was there, Dispatch scaffolded out the actual project files. From there it went to Claude Code on the desktop, where I could actually run the thing, click through it, and find out what it got wrong.
~
What SimpleMarkDown Does
SimpleMarkDown is deliberately narrow in scope. It’s not trying to be Obsidian. There’s no plugin system, no vault, no graph view. It opens a .md file, or a blank one, and gets out of the way.
- Live preview that updates as you type, debounced so it isn’t re-rendering on every keystroke
- Editor and preview scroll in sync
- Dark and light themes
- Export straight to HTML or PDF
- Bold/italic/heading shortcuts and a find-and-replace panel, because I still forget the markdown syntax for a table header row every single time
Here it is on launch, nothing loaded, dark theme, split panes:

And here it is with something actually typed into it. Headings, a bullet list, a fenced code block with syntax highlighting, all rendering live on the right as I type:

How The Code Hangs Together
It’s a .NET 8 WPF app. The editor pane is a plain TextBox. The preview pane is a WebView2 control, and the markdown itself is converted to HTML with Markdig. I’m not writing my own parser, that would be a different and much longer post.
On TextChanged, a DispatcherTimer debounces for 200ms. From there it splits in two. The page shell, CSS matched to the current theme, highlight.js from a CDN, loads once: on startup and whenever the theme changes, via Preview.NavigateToString. Every other update just swaps the HTML inside a #content div with Preview.ExecuteScriptAsync, no full reload:
private void UpdatePreview()
{
if (!_webViewReady) return;
if (!_shellLoaded || _shellDark != _isDark)
{
LoadShell();
return;
}
PatchPreviewContent();
}
It’s barely more code than a single reload would have been, and it means retyping never tears down the page WebView2 is actually rendering, just the part that needs to change.
~
Where SimpleMarkDown Is At
It does what I need it to do: open a markdown file, write, see it rendered the way it’ll actually look, export it, close it. No sync, no cloud, no subscription. If your list of requirements for a markdown editor is roughly the same as mine, it’s a small enough codebase to clone and bend to your own needs.
~
How AI is Changing How I Build
This whole thing, idea to working app with export, themes, and find/replace, took less time than a single 5×5 session 1.5 hours) The code friction between “I have an idea” and “I can tell if the idea is any good” is mostly gone these days.
I didn’t need to be at a desk to start this. I didn’t need to open Visual Studio to know whether the layout would work. The mockup first step and rough visual sealed the deal for me to keep going with the build and bring it to life.
AI got me to a working build fast but what what hasn’t changed though is judgement. That part of the job hasn’t gone anywhere. It’s just moved further downstream, from writing the first draft of the code to verifying what got created actually does what the AI model claims.
~
Enjoy what you’ve read, have questions about this content, or would like to see another topic covered?
You can schedule a call using my Calendly link to discuss consulting and development services.
~
Courses
Check my AI courses. From developers to decision makers, these have you covered:
~