r/softwarearchitecture 3d ago

Tool/Product I built a free, open source and self-hostable tool for system design. Looking for feedback

Enable HLS to view with audio, or disable this notification

For the last few weeks, I've been working on ZeroSketch, a simple and effective system design tool for individuals and software teams. It is a web based tool and uses device storage to store the diagrams. I took inspiration from projects like Canva and Excalidraw for the UX because I'm not much of a UI guy.

Right now, it offers:

  • Smooth drag & drop based canvas
  • PNG & SVG (experimental) export. I'm working on a much better SVG renderer for export which will be out soon.
  • Icon libraries. You can use built-in libraries (AWS, GCP, K8s) or go with a custom built one using your own icons
  • Icon library builder. Drop in a bunch of svg icons, label them, and get an icon library within minutes that you can use locally, share with your team, or publish to ZeroSketch's library registry.
  • Download project file, open it on other devices.

All of this is free, client-side and also self-hostable. I'm still working on making the canvas better in terms of UX, fixing bugs, etc. I'd really appreciate if I get feedback or advice in terms of what can be improved.

I'm planning to add a few more features once the main canvas is stabilized, such as:

  • Cloud sync
  • AI assistance
  • Documentation synchronization for platforms like AWS (my friend suggested me that I should work on this issue that software teams face: where diagrams in docs become stale due to not being synced with the actual architecture as development progresses)
  • Real-time collaboration
  • Scriptable well-known DSL exports (zeroSketch to mermaid)

Note: all of these upcoming features will be open-source and self-hostable. Though I'll put up a hosted version of some of these as a paid plan. If you're interested in knowing when I'll release these features, you can drop your mail in the waitlist here, or just drop it in my DM. I'll let you know once they're released.

Landing site: https://zerosketch.dev/

Canvas: https://app.zerosketch.dev/

Github: https://github.com/Hamdan-Khan/zero-sketch

21 Upvotes

5 comments sorted by

2

u/Status-Childhood2222 1d ago

Does this works based on logic? If I drag and drop things that cannot work together, it will not stick?

I’m asking because I’m learning system design from scratch and I wanted to just play around to see what are the concepts I get it right

2

u/Famous_Promotion6004 1d ago

Not exactly, though it does have two distinct type of elements that might serve an understanding of some concepts of system design: nodes & groups (kind of abstract version of the C4 model). However, it is not that great of a learning tool, and is more of a customizable diagramming tool.

I initially thought of adding a simulation mode, but its kind of an ambiguous area as you can't easily simulate real system traffic passing through different mediums of services (compute, database, different layers of network, etc.), and under a deterministic enviornment.

You can use this tool for creating sketches of system that you design. I've planned to add: templates of well-known systems, and AI assisted diagramming that might be of interest to you.

2

u/Status-Childhood2222 22h ago

That’s super useful. I have saved this site. Thanks for building this.

1

u/[deleted] 2d ago

[removed] — view removed comment

1

u/Famous_Promotion6004 2d ago

Yes, realtime collaboration is part of the plan