I passed my system design interview. The prep was embarrassing.
Two weeks out, my workflow looked like this:
Tab 1 — AI interviewer asking me to design a URL shortener.
Tab 2 — AI mentor (different chat) where I'd paste the interviewer's question and ask "wait, what's a consistent hash ring again?"
Copy. Switch tab. Paste. Wait. Copy answer. Switch tab. Paste into interview. Repeat.
Every. Single. Time.
And that was just the communication problem.
There was no whiteboard. I had to describe my system architecture in text. "So, the load balancer forwards to service A, which talks to cache B, which falls back to database C..." Imagine trying to explain a distributed system like that. The interviewer had to imagine it. I had to imagine it. Nobody could actually see anything.
Then the organization problem hit. After a week, I had 30+ chat threads. No labels, no structure. When I wanted to revisit how I'd approached rate limiting, I couldn't find the conversation. It was easier to just start a fresh chat — which meant losing all the context I'd built up.
No progress tracking either. I had no idea if I was actually getting better or just spinning in circles.
So I built something to fix it.
LeetDesign is a mock interview platform specifically for system design, with a few ideas baked in from day one:
Interviewer + Mentor in one place.
The interview pane has the AI interviewer. The sidebar has the AI mentor — it already knows what the interviewer is asking, so you don't copy-paste anything. You just ask "how should I approach this?" and it has full context.
A real diagram editor.
Built on React Flow with a component palette and auto-layout. You drag in services, databases, load balancers, queues. You draw the connections. The interviewer can see your architecture. No more "imagine a box connected to another box."
Hard mode.
One thing I noticed: AI interviewers are usually too polite. They accept a vague answer and move on. Real interviewers don't — they push on edge cases until you either reason through them or crack. Hard mode replicates this. The interviewer won't advance until you've addressed failure modes, consistency trade-offs, and corner cases explicitly. It's uncomfortable. That's the point.
Sessions with scoring.
Every interview gets scored across six dimensions: requirements coverage, capacity estimation, high-level design, deep dive, trade-offs, and failure modes. Over time, you see where you're consistently weak.
Quick Drills.
Short focused sessions on one specific topic — "explain consistent hashing" or "design a cache invalidation strategy" — so you can drill individual gaps without committing to a full 45-minute session.
If you're preparing for system design interviews, give it a try: leetdesign.pro
Happy to answer questions about the build — AI streaming architecture, the diagram editor, the scoring rubric, anything.
Top comments (0)