Top
Best
New

Posted by OlaProis 1/11/2026

Show HN: Ferrite – Markdown editor in Rust with native Mermaid diagram rendering(github.com)
Ferrite: Fast Markdown/Text/Code editor in Rust with native Mermaid diagrams

Built a Markdown editor using Rust + egui. v0.2.1 just dropped with major Mermaid improvements:

→ Native Mermaid diagrams - Flowcharts, sequence, state, ER, git graphs - pure Rust, no JS

→ Split view - Raw + rendered side-by-side with sync scrolling

→ Syntax highlighting - 40+ languages with large file optimization

→ JSON/YAML/TOML tree viewer - Structured editing with expand/collapse

→ Git integration - File tree shows modified/staged/untracked status

Also: minimap, zen mode, auto-save, session restore, code folding indicators.

~15MB binary, instant startup. Windows/Linux/macOS.

GitHub: https://github.com/OlaProeis/Ferrite

v0.2.2 coming soon with performance improvements for large files. Looking for feedback!

241 points | 190 commentspage 4
cat-whisperer 1/11/2026|
I don't know much about the GUI space. I would love your take on why did you went with egui instead of guirs
OlaProis 1/11/2026|
Good question! A few reasons for egui over gtk-rs/iced/others:

- Immediate mode — egui redraws every frame, which makes state management simpler (no callback hell). Great for prototyping.

- Pure Rust, minimal deps — egui is self-contained. gtk-rs requires GTK installed on the system.

- Cross-platform out of the box — Same code runs on Windows/Linux/macOS/Web

- Rapid iteration — Hot reload-friendly, easy to experiment with layouts

Trade-offs: egui's TextEdit isn't designed for code editors (no multi-cursor, can't hide folded text), which is why v0.3.0 will replace it with a custom widget.

hendry 1/11/2026||
Wish there was something like Mermaid for typical AWS Architecture diagrams.

Something that doesn't suck like draw.io!

OlaProis 1/11/2026|
Interesting use case! Mermaid doesn't have native AWS icons, but for v0.3.0's standalone crate, we could potentially support custom shapes/icons. D2 has better icon support if you need that now.

What specific diagram types do you need — network topology, service flows, infrastructure layout?

hendry 1/12/2026||
More service flows aimed at security audits
OlaProis 1/12/2026||
Service flows for security audits — that's a specific and useful use case!

A few thoughts:

What might work today: - Sequence diagrams can model service-to-service flows (API calls, auth handoffs)

- Flowcharts with subgraphs can represent VPC boundaries, security groups

- C4-style (context, container, component) is sometimes modeled with flowcharts

What would make it better:

- Custom shapes/icons (AWS service icons)

- Annotations for security boundaries, trust zones

- Data flow direction markers

Alternative you might try now:

D2 (https://d2lang.com) has better icon support and was designed for architecture diagrams. It has an AWS icon pack. Structurizr also does C4 well.

That said, if there's demand for architecture-specific diagrams in Ferrite's Mermaid renderer, I could look at:

1. Custom icon/shape support via external SVGs

2. A dedicated "architecture" diagram type with security-relevant annotations

Would a template or example for modeling security flows in Mermaid's current syntax help as a starting point?

hendry 1/12/2026||
Yeah, an example would be good. Tbh the examples on https://d2lang.com/ don't seem to fit the bill of a typical AWS Architecture diagrams! https://aws.amazon.com/architecture/reference-architecture-d...
OlaProis 1/13/2026||
You're right, neither Mermaid nor D2 really nail AWS architecture diagrams out of the box. Mermaid lacks icons entirely, and D2's AWS pack is more 'icons exist' than 'architecture patterns are easy.'

Honestly, this is a gap in the ecosystem. For now, most people either:

- Use draw.io/Excalidraw despite the pain

- Build diagrams programmatically (Diagrams-as-code Python library has good AWS support)

- Just accept text-based flowcharts without icons

If I add custom icon/shape support to Ferrite's Mermaid renderer (v0.3.0+), AWS icons could be a good test case. No promises, but I hear the frustration.

adamnemecek 1/11/2026||
Consider adding support for Typst.
OlaProis 1/11/2026||
Interesting idea! Typst is compelling (Rust-based too). Not on immediate roadmap but could be a future addition. TeX is heavier but possible via external tools + pipeline feature.
GrowingSideways 1/11/2026||
Or even better, TeX. I realize capital bought out even basic typesetting but let's not encourage this
regenschutz 1/11/2026||
Typst is open-source.
GrowingSideways 1/11/2026||
Open source doesn't mean relinquished from capital by any means. I also don't blame the author of typst. But TeX is truly free from capital, and that should mean far more than the aesthetics of a nicer interface.
adamnemecek 1/11/2026||
Integration with typst will be more straightforward than latex.
GrowingSideways 1/11/2026||
Yes, at the cost of dragging people into subscription software. Fuck off
adamnemecek 1/14/2026||
How?
dmitrygr 1/11/2026||
For those who, like me, read this and thought "what the hell is a mermaid diagram?", apparently it is a method to describe simple flow diagrams using markdown-like text. More here: https://mermaid.js.org/
chaboud 1/11/2026|
Next time you're vibe coding something, have the system generate a mermaid diagram to show its understanding. Though visual generation can be hard for models, structure/topology in formats like mermaid is pretty gettable.

I've even found sonnet and opus to be quite capable of generating json describing nodes and edges. I had them generate directed acyclic processing graphs for a GUI LLM data flow editor that I built (also with Claude - https://nodecul.es/ if curious)

fuddle 1/11/2026||
Whats the advantage of using Ferrite versus VS Code with a Mermaid extension?
OlaProis 1/11/2026||
> - ~15MB vs ~300MB+ (no Electron) > - Instant startup vs seconds > - Native Mermaid rendering (no extension juggling) > - Built-in JSON/YAML tree viewer with pipeline shell integration > - Session restore, minimap, zen mode baked in > > If you live in VS Code already, an extension might be fine. Ferrite is for those wanting a focused, fast Markdown environment.
fuddle 1/12/2026||
Thanks. It might be worth highlighting this in the Readme.
littlestymaar 1/11/2026|||
The VSCode markdown viewer kind of sucks tbh.
dcreater 1/11/2026||
Rust + Native App I take it
JCattheATM 1/11/2026||
Would you maybe consider adding a musl version to your releases?
OlaProis 1/11/2026|
Good idea! A musl build would solve the glibc compatibility issues

Added to the v0.2.3 roadmap — will provide a statically-linked x86_64-unknown-linux-musl binary alongside the standard glibc one.

JCattheATM 1/11/2026||
Thanks, I'll look forward to trying it then :)
OlaProis 1/12/2026||
I tried to add it for this release but hit a wall with the font rendering dependencies (freetype, fontconfig). GUI apps need these for text display, and they don't play well with fully static musl linking - the build system wants a musl C++ cross-compiler and static versions of system libraries that aren't readily available in CI. We'll keep looking into options - possibly a Docker-based build with a proper musl toolchain, or investigating if we can make fontconfig use dlopen at runtime. For now the glibc build (Ubuntu 22.04) should run on most Linux distros. If anyone has experience with static musl builds for Rust GUI apps, we'd love to hear what's worked!
kmfrk 1/11/2026||
Markdown and Mermaid support, you have my attention!
maximgeorge 1/11/2026|
[dead]