Hi HN! I’m building a diagramming tool optimized for software engineering use cases.
In previous jobs, I’ve had to draw many diagrams, whether to accompany design specifications or to explain something to peers. I’ve always felt drawing diagrams was too time consuming even though it was incredibly beneficial to my peers. That led me to creating a diagramming tool that allows software engineers to create diagrams quickly while remaining neat and presentable.
A few notable features:
- When drawing arrows, the tool automatically routes the arrows for you (using A* pathfinding and a nudging algorithm [1]).
- The tool has a wide variety of icons to choose from and I’m adding more. The goal here is to add all the icons a software engineer might need.
- Everything is placed on a grid with placement rules so the user doesn't have to worry about alignment.
- Embedding live (auto-updating) diagrams in Notion or using IFrames. GitHub support coming soon.
I understand the tool doesn’t support all use cases, I was primarily focused on architecture diagrams. I hope to support more types of diagrams (sequence, db schemas, flow charts, etc) in the future. Hopefully this is a good starting point to gauge feedback on the direction I’m heading towards.
OneModel is in beta and is completely free to use. It will remain free for individuals after the beta. I’d love to hear your thoughts and feedback! I’ll be around to answer any questions.
If you’d like to reach out to me, feel free to email me at khaled[at]onemodel.app
I would love to try this, sounds like it solves a need my team currently uses Mermaid/Drawio/etc. for. But looks like it's behind an account setup screen. :(
Wow, this is super quick and easy. It will definitely be replacing draw.io for my cloud architecture diagrams immediately. The only feature I would request is text boxes for notes.
I've been using the OneModel beta for a couple months now, watching as it matures.
Personally, I'm a huge draw.io fan, and I use the desktop app for many things. While draw.io is great for many types of diagrams it's certainly perfect at none of them. At the end of the day I find myself creating boxes of the same size, formatting lines to be the same style, and routing arrows all around the place.
That's what I love about OneModel: it's currently built as a tool to design system diagrams. I don't have to muck around with box sizes, OneModel knows that a box is a service. I don't have to muck around with line widths and arrow styles, OneModel knows that an arrow represents a service relationship. I don't need to route arrows, OneModel knows that an arrow shouldn't overlap a service icon.
I'm really looking forward to some of the obvious places this tool can go. Attach metadata to a service that points to a GitHub repo and get deployment status. Attach metadata to a line to specify protocol, jump to a firewall rule, or consume Prometheus metrics. Maybe we'll even be able to export a diagram as a Terraform script one day!
I think a VSCode extension would be pretty cool. I'll have to checkout out cd designer, seems interesting. Thanks for the feedback and glad you liked the tool!
Does anyone have any information on the tool pricing? It doesn't appear to let you take a gander at any pricing information before logging in to use the tool.
The tool is free for individuals and will remain free after the beta. Pricing would be for team usage (currently early access) and is still tbd. Early access teams will receive a discount.
I'd think a tool "tailor-made for Software Engineers" would use a human readable text format that can be stored in a VCS repository along side the other documentation. It could work if the GUI outputs a simple text file, but this looks like it'd output an image.
That's a good point IMO and that's why I still find nomnoml my favorite https://nomnoml.com/.
However, nomnoml is more like UML tool than diagramming tool like OneModel. So a big issue could be how to keep all the icons in the text format. With SVGs, the file would be big/or would include some extra assets folder, or with the links directly hosted on OneModel, the file would be tightly coupled.
This looks amazing! Thank you :) Is there a way to request more icons to be added or a way to add custom icons? This is the probably the one thing that stops me from replacing draw.io with this!
Glad you liked it! Hoping to add a request icon form in the app soon and custom icons down the line. In the mean time, feel free to email support[at]onemodel.app with the list and I will add them asap.
It's a bit buggy.. sometimes when I dropped an icon in, it would disappear while I was typing to filter.
Looks good though and I will try again on a non-FF browser in work. Where do the files get saved? One of the best things about draw.io is that it just works off local files.
Will look into the bug, sorry about that. Everything is cloud based. In other comments I got suggestions for a way to create diagrams without an account. I'm looking into that and that would probably include a local-file component. Thanks for your feedback.
There is one feature I always wished existed in engineering diagramming tools: it's the ability to hook up some logging or status report.
For instance, on each of these nodes, there could be an ID, and I would send a post request from my servers that says "node ID x is down", and the tool would just show a red dot and maybe a "take me to the logs" button, that would be huge.
Which is to say, I don't just want a diagram, cause diagrams get outdated, I want a dashboard. Dashboards get updated, cause you look at them.
Thank you! That's a great idea and it's what I'm working towards. I'd like the ability to connect your diagrams to various event sources or even metadata, to help keep them alive. At the moment though, I'm trying to put together the building blocks to get there.
FWIW, you might want to search for project naming conflicts. Mine (an AGPL knowledge manager that stores arbitrary knowledge in a single data model, using postgresql & scala, hoping to move to rust and sqlite) is at http://onemodel.org (though nearly stalled due to health issues; I plan to continue in future though), and I remember finding some unrelated commercial project once, maybe onemodel-sys.com or such.
Just came back here after trying this out in earnest today. I've decided it's the best software diagramming tool I've ever used.
What I liked best is that OneModel doesn't get in your way. It does the ugly aligning and routing of arrows so that your model stays beautiful. I really only sat down to play around with it. But after two hours, I had fully diagrammed my new project including every module and component. It's probably also the best looking software architecture diagram, and perhaps the most easily-read, that I've ever made.
OneModel is really enjoyable to use. The quick feedback of getting to something readable and pleasing inspires you to continue completing and improving your diagram. It's easy to get into the "flow state" that's critical for this kind of work, like programming itself.
My only requests would be custom icons and/or coloring of existing icons. But I was able to get everything I needed by just renaming the components it has.
Awesome job. Something I would pay for. The next diagram I want to make is a state model. I think the auto-routing arrows will be a huge plus.
In previous jobs, I’ve had to draw many diagrams, whether to accompany design specifications or to explain something to peers. I’ve always felt drawing diagrams was too time consuming even though it was incredibly beneficial to my peers. That led me to creating a diagramming tool that allows software engineers to create diagrams quickly while remaining neat and presentable.
A few notable features:
- When drawing arrows, the tool automatically routes the arrows for you (using A* pathfinding and a nudging algorithm [1]).
- The tool has a wide variety of icons to choose from and I’m adding more. The goal here is to add all the icons a software engineer might need.
- Everything is placed on a grid with placement rules so the user doesn't have to worry about alignment.
- Embedding live (auto-updating) diagrams in Notion or using IFrames. GitHub support coming soon.
I understand the tool doesn’t support all use cases, I was primarily focused on architecture diagrams. I hope to support more types of diagrams (sequence, db schemas, flow charts, etc) in the future. Hopefully this is a good starting point to gauge feedback on the direction I’m heading towards.
OneModel is in beta and is completely free to use. It will remain free for individuals after the beta. I’d love to hear your thoughts and feedback! I’ll be around to answer any questions.
If you’d like to reach out to me, feel free to email me at khaled[at]onemodel.app
[1] If you’re interested in these types of algorithms, this paper is great: https://users.monash.edu/~mwybrow/papers/wybrow-gd-2009.pdf
reply