I build a free tool where you write your system design as text and it tells you if it would hold up and some more fun stuff to practice your system design skills.
I’ve been working on this for a while: proschi.app The main idea is that you write the high-level design (HLD) of a system in a simple DSL, with all the requirements next to it (like costs, p99 latency, availability) and an endless number of number use cases. It all started with messy documentation I had to work with: HLDs were defined in one place, SLAs in a different place, use-cases in a third place; it was hard for me to perceive this, so I thought it made sense to combine all of them together and have a way to visualize it. The language is pretty simple. Something like this: user "User" [Actor] api "Notes API" [REST API] db "Notes DB" [PostgreSQL] user -> api : HTTPS api -> db : SQL traffic { "Create a note" 200 rps } requirements { p99 "Create a note" < 200ms } Every component comes with default values (latency, capacity, cost and so on), so you can get going without tuning anything. If your setup is different, you can override them with your own numbers. Other stuff that’s in there: You can embed your diagrams in your own docs, wiki, or blog. The .proschi files can run in your CI ( npx proschi test ), so if someone changes the architecture and breaks a requirement, the build fails LeetCode-style problems, except instead of writing a function you design the app (URL shortener, chat, payments, video streaming...) and tests check whether your design holds up Roadmap if you’re preparing for system design interviews Review cards for training different system design topics Skills for the agents so you can ask them to design the HLD for you. It’s completely free. Everything you see now will stay available; I won't put it behind a paywall later. I’d really like feedback, especially if something feels confusing or the simulation numbers look off for your use case. Feel free to check the repo , contribute your own system design problems, or use it to document your use cases.