
Systems & graphics engineeringSolo designer and engineerDrawing 25 of 47
Velm
I built a native infinite-canvas app in Rust so I could stop using Miro on my own machines. The main rule I built it around is that drawing a frame should only cost as much as what's on screen, no matter how much is on the board.
- StatusEssentially done, 2026
- Built withRust, wgpu, Loro CRDT, SQLite, 18 crates
- Runs onmacOS and Windows, no webview
- Reference boarda real 596-widget Miro import
Sheet 02 of 05/Why
Why I stopped using Miro
Miro had become the slowest thing on my computer. What bothered me was that it got slower the more there was on the board, even when I was only looking at part of it.


Sheet 03 of 05/Parts
Issued as separate drawings
I split this project into parts. Each part below has its own page, with its own sections and pictures.
Part 01 / 02
The engine
Drawing a frame only costs as much as what's on screen. This part covers the culling, the instanced draws, skipping the webview, and the three limits that are still there.
Part 02 / 02
Miro import
How I got fifty eight boards out of a format that was never meant to be exported, and checked that they arrived.
Sheet 04 of 05/Scope
Two things I cut on purpose
Collaboration is gone completely and there's no dark mode yet. Other than that it's a real tool, with 41 shapes, mind maps and charts you can drop right on the board.







