Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
Show HN: OneModel – Diagramming tailor-made for Software Engineers (www.onemodel.app) similar stories update story
4 points by koahmad | karma 76 | avg karma 5.43 2022-02-01 11:12:14 | hide | past | favorite | 36 comments



view as:

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

[1] If you’re interested in these types of algorithms, this paper is great: https://users.monash.edu/~mwybrow/papers/wybrow-gd-2009.pdf


Huge believer in model-aware diagramming. Filled out your Teams wait list.

Thanks for sharing!


Holy crap an author of that Paper is Peter Stuckey (was one of lecturers back in the day). What a great find!!

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. :(

Great point, thanks. We'll explore creating a playground where the diagrams are stored locally to eliminate the account setup barrier.

I would be happy just to try it out without saving if I don't have to create an account.

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.

Thanks, glad you liked it. Adding sticky notes on diagrams is on the roadmap, hopefully in the next month or so.

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!


This is actually really well done. Keeps it simple and fits 90% of the use cases for when I create arch diagrams. You've got me sold.

Thank you!

I’ve been looking for exactly this for some time - thank you for creating it!

Maybe consider making a VScode extension out of it; you could then have it generate actual class files from the drawing.

This is something VSCode lacks that big brother Visual Studio has had forever (cd designer).


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.

The best diagramming tool will combine bidirectional drawing using either WYSIWYG or Diagrams-as-Code.

Plus VSCode extension which will make editing these diagrams inside the git repo a first class citizen.


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.


Check out mermaid [0] for plain text diagramming that's easily version controlled.

It's also natively rendered in obsidian [1] without any plugins.

Not affiliated, just very happy with this plain text and local workflow.

[0]: https://mermaid-js.github.io [1]: https://obsidian.md/


Mermaid rendering is also hopefully coming to Github soon (Q1 - 2022). https://github.com/github/roadmap/issues/372

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.

Thanks! I sent an email. It would also be great if there was a button to change the orientation of the diagram from left-right to top-bottom.

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.

This looks amazing. Kudos

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.

Anyways, just a thought.


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.

Kudos, it looks excellent

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.

Seriously digging the aesthetic! Amazing job.

Our team usually uses LucidCharts but we'll give this a try. A basic folder system would go a long way in helping to keep my charts organized.


Looks great! Do you consider adding a plain-text input/output format? Would be great to keep these diagrams in a VCS.

this is a nice start. congrats i imagine v2 will have real-time connections to services that are mapped.

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.


Wow thank you! You can expect coloring the icons in the next couple days. Custom icons will probably be in a month or two.

Legal | privacy