mdread

A very fast, GPU-rendered Markdown reader for Linux and macOS, built in Rust for large high-DPI screens. Ten percent of the features, all of the speed.

Side project by Vaughn Dickson · 2026 · Design and code
RusteguiOpenGLpulldown-cmarksyntect
mdread rendering its showcase document: an outline sidebar on the left, the reading column in the middle and a files sidebar on the right

Problem

I read a lot of Markdown: READMEs, design notes, plans, and the piles of documents that coding agents produce. Every tool for reading it was an editor with a preview pane bolted on, a browser extension, or an Electron app that takes seconds to open a 20 KB file and then shows it in a narrow column in the middle of a 4K monitor.

Approach

mdread does one thing: open a file, read it, close it. It is about 4,300 lines of Rust. egui draws everything through OpenGL, pulldown-cmark parses, syntect highlights. The document is parsed once into a tree of blocks and only the blocks on screen are laid out, so a 1,100-block document scrolls like a 20-block one. The layout uses the whole width of a large screen: an outline that tracks the section you are reading, a reading column capped at a comfortable measure, and the other Markdown files in the folder on the right.

Outcome

  • Cold start to first frame in about 110 ms; an 800 KB document parses in about 4 ms and renders in under 2 ms per frame.
  • Full GitHub-flavoured Markdown, crisp text at fractional Wayland scaling, live reload, dark and light themes, vim-ish keys.
  • Open source on GitHub; a Mac port arrived as a pull request within a day of publishing.

Need a CTO in the room?

Side projects like this keep my hands current. The day job is leading the engineering that companies run on, so tell me what is going on at yours. The first conversation is free, and I will say honestly whether I can help. If I can’t, I’ll introduce you to someone who can.

Cape Town, working remotely. My mornings overlap with Australian afternoons, and my afternoons with the UK, Europe and the US east coast. Or message me on LinkedIn.