📋My own system designer - Darwin
Sumit Roy

Sumit Roy @sroy8091

About: Enthusiast, learner and developer

Location:
India
Joined:
Mar 18, 2017

📋My own system designer - Darwin

Publish Date: Jul 5 '25
92 38

This post is my submission for DEV Education Track: Build Apps with Google AI Studio.

What I Built

I was tired of bloated webapps for practicing system design problem or creating one. So I thought of creating my own. I started with simple canvas with few components such as load balancer, api gateway and database and a custom element.

Then I started adding features step by step

Step 1:
Add arrows to connect different components
Step 2:
Add edit option in components where I can drag the components and move them in canvas, edit their names, resize them and delete them from canvas
Step 3:
Make the canvas size infinite
Step 4:
Add zoom options using mouse scroll in canvas
Step5:
Add few more components such as User, Web client, Cache, etc and add scrollbar in the components section
Final Step:
Add export functionality to export this design in png or jpeg format

And voila the app is live and functional.

Demo

Check it out here and share your designs

Future scope

Now it's time to add more features. Few of them are

  • Add an option to create flow chart as well
  • Option to copy a single element
  • Ability to move multiple elements at once and many more.

Suggest your ideas in comments to make this bigger and better. So that we can have our own canvas opens source and free without any telemetry

My Experience

There were few moments when gemini was approaching correctly but not making the code changes. I had to ask specifically to continue making the code changes and then it moves ahead. That was annoying a bit, but the results were really cool. I like vibe coding a lot with this new tool. Planning to build more for the public for free.

Create your own design and share it in the chat and inspire us with your suggestions

Comments 38 total

  • Nathan Tarbert
    Nathan TarbertJul 5, 2025

    This is extremely impressive, especially since you went piece by piece on your own. I’m always down for something less bloated like this

    • Sumit Roy
      Sumit RoyJul 5, 2025

      Let me know what features you think would be a great addition to it.

  • Dotallio
    DotallioJul 5, 2025

    Love how clean and focused this is, especially with infinite canvas and export! Any plans to let users see version history or collaborate live?

    • Sumit Roy
      Sumit RoyJul 5, 2025

      Collaborating live or adding persistent history would mean a lot of work in backend. And i don't want to integrate any backend api or db here unless it gets really good traction. But yeah it would be really a good extension of this

  • Carlos Eduardo de Andrade Silva
    Carlos Eduardo de Andrade SilvaJul 5, 2025

    This is just amazing, congrats for the building. Super usefull, so clean.

  • SteamPixel
    SteamPixelJul 5, 2025

    Really cool. I think I'll have to do that sometime soon. I'm currently using vue-network-graph on wanderer-flow.de. But that's starting to reach its limits...

  • Raghav Kapoor
    Raghav KapoorJul 6, 2025

    Man awesome stuff This type of content must be on vickybytes

    • Sumit Roy
      Sumit RoyJul 6, 2025

      Thanks, what's vickybytes?

      • Raghav Kapoor
        Raghav KapoorJul 6, 2025

        So sir it is popular website these days where awesome writers like u can post all of your content like articles link any platform dev to or medium and get paid for views u gain on the content

  • rajath s k
    rajath s kJul 6, 2025

    Did you try Draw.io ?

    • Sumit Roy
      Sumit RoyJul 6, 2025

      Yeah, and excalidraw as well. Both are feature enrich and really mature platform and have a broad target audience, but I wanted to have something focused on software dev. To make quick and dirty diagrams, specially for interviews 😉.

    • Terry Fraser
      Terry FraserJul 7, 2025

      I agree. I'm not sure what the point of this is. There are already webapps and vscode plugins that do these things better and more already

  • catalin anesia
    catalin anesiaJul 6, 2025

    Congratulations, would be nice an export targetting LLM ingestion, so would output the diagram in a text format that describes it.

    • Sumit Roy
      Sumit RoyJul 6, 2025

      This is a really nice idea, thanks

  • Kenji
    KenjiJul 6, 2025

    My first thought was: "I wish that was an mcp server." The second: "Can it export in xml?"

    If you had both it would be a solid http streaming mcp SaaS. And the llm text format/metadata for context I guess. It would be awesome to make the base 100% stateless but allow for storage (maybe only local? KISS) integration similar to draw.io. having a simple deterministic diagram tool with llm context built in via mcp would be legit.

    I also wonder about the xml export/format as a decent method to provide llm context with extensions (tag for text context as commented) via mcp/api.

  • Đăng Tú
    Đăng TúJul 6, 2025

    Seems like a promising product, look forward to see it on product hunt someday.

  • Atif Mansoor
    Atif MansoorJul 7, 2025

    I actually need a system design simulator. What would be cool is being able to specify numbers like Daily Active Users, min/max requests per second and so on. Then you can press "play" and it would simulate traffic flowing through the different components. Essentially a systems design game, where if any component (like the database) goes down or latency is too high, you lose 😁

    • Sumit Roy
      Sumit RoyJul 12, 2025

      This is really nice idea, but this means we would need to have attributes for each component. User would need to configure the load balancer with the load balancing algorithm, need to define the size of the instances where the services are deployed. And a lot more. I think this can go as a pro subscription of this site 😅

      • Atif Mansoor
        Atif MansoorJul 12, 2025

        Absolutely! There's a real value proposition here, not just for students learning Systems Design, but even professionals wanting to validate adding components to their systems (before performing actual load testing).

  • Paul
    PaulJul 7, 2025

    which library did you use for drag and drop?

  • TheTenthMan
    TheTenthManJul 7, 2025

    Make sidebar collapsible on mobile(small screens). Since it's goal it to be a quick usable project, I'll prefer this on mobile. No bloat. No extra feature. Just quick diagramming.

  • Mahesh
    MaheshJul 7, 2025

    Hi,
    I am new to this forum I need a quick help. I am looking for any LLM based architecture design tool wherein the architecture diagram can be done by giving technical prompts.
    I appreciate your help.

  • AdrianDahl
    AdrianDahlJul 7, 2025

    I loved reading about Darwin—it's genuinely impressive to see someone building their own system designer from scratch! Your approach to solving scalability and architecture visualization issues feels super practical and forward-thinking. It actually made me reflect on how systems like Fire Kirin APK must handle huge volumes of user data and real-time gameplay smoothly, which definitely needs solid design under the hood. Just like Darwin helps map out system components clearly, I imagine similar tools are essential for gaming platforms to keep things running glitch-free. Do you see Darwin evolving into something that could be adapted for gaming system design too?

  • Trifon
    TrifonJul 7, 2025

    @sroy8091
    You wrote that it will be Open Source, but I don't see link to the code?

    Very good project!

    • Sumit Roy
      Sumit RoyJul 7, 2025

      I will add the github link in the project and a second blog about all the enhancement I am currently working on. But before that I have to add license and the most difficult thing, a good README 😌.

      • Trifon
        TrifonJul 7, 2025

        README was VERY difficult for me too, until AI appeared :)
        Now is one of the easiest :)

  • Pheak Pheasa
    Pheak PheasaJul 8, 2025

    awesome

  • Harry Douglas
    Harry DouglasJul 9, 2025

    You have implemented really useful thing! I have needed it in past and have used tools like Miro. I liked the customized components for system design but the thing is that still a lot of features for drawing good diagram are missing here.

    But it is a good one! keep going...

  • Om Shree
    Om ShreeJul 9, 2025

    Cool

  • Dhanushkumr G
    Dhanushkumr GJul 9, 2025

    This is a fantastic initiative! Creating your own HLD designer like Darwin shows great vision and technical creativity. The user-friendly approach you’ve taken really lowers the barrier for system architects and developers alike.

    If you're interested in more tools and frameworks related to cloud design and system architecture, I recommend checking out cloudinstitution.com/ — it features some great resources on cloud design principles that could complement what you're building here.

  • Dhanushkumr G
    Dhanushkumr GJul 9, 2025

    This is a fantastic initiative! Creating your own HLD designer like Darwin shows great vision and technical creativity. The user-friendly approach you’ve taken really lowers the barrier for system architects and developers alike.

    If you're interested in more tools and frameworks related to cloud design and system architecture, I recommend checking out cloudinstitution.com/ — it features some great resources on cloud design principles that could complement what you're building here.

  • Sumit Roy
    Sumit RoyJul 12, 2025

    These are the enhancements I did over this site. Checkout here -> dev.to/sroy8091/evolving-darwin-ho...

  • A Makenzi
    A MakenziJul 15, 2025

    this is cool, is it open source? I already use eraser but I love how fast this is. There are other features you can add e.g. double click to add text, duplication of items instead of using the mouse to select them everytime. I love how responsive it feels and how easy it is to zoom in and out. Definitely a tool I would use more with a few more features in it. Congrats

Add comment