You can think of this as GraphViz dot + Tailwind + easier markup.
The concerns I've catered for:
1. Free, no ads, no vendor lock in.
2. Offline (client-side) diagram generation.
3. Easily shareable diagrams via link, or SVG copied to clipboard.
4. No IP leakage by using the URL fragment.
5. Text input for easy updates of multiple nodes / edges.
6. YAML / structured input, so you don't need a custom SDK / parser if you want to generate the data structure.
7. Interactivity is done using 100% CSS -- no scripts, no foreign element, so they should render in places that accept SVGs.
And some links:
- Previous thread: https://news.ycombinator.com/item?id=36825069
- Repo: https://github.com/azriel91/dot_ix
- Presentation I did at a meetup: https://youtu.be/JpoG_O3hJss
- Slides: https://peace.mk/book/learning_material/dot_ix_diagram_gener...
Other things that some people may care about:
1. Embedded VS Code (monaco) + rendered SVG in your browser, so you don't have to keep copy pasting between your text editor and your browser.
2. Interactively highlight relevant parts of the diagram, so you don't have visual clutter. Think of those whiteboard diagramming sessions where you have to "go back to that part before".
3. Styling is done via Tailwind classes, including animation.
4. It's written in Rust, with the intention of having a programmatic API so diagrams can be generated real time. Though this is a longer term goal for a different project.
5. The input model is kinda stable, but if you use this for your diagrams, it's best to save both the link (for future editing) + the output SVG (in case I change the input model). The compression is lz-string, though I half wonder if I should take compression away (easier to generate a link from other tools)