I Built an AI System Design Coach โ Clone It, Try It, Break It
The problem I kept running into Every time I practiced system design, I'd hit the same wall: I'd sketch out a rough idea for "design WhatsApp" or "build a URL shortener," and then... nothing. No feedback. No indication if my choice of Kafka over RabbitMQ was justified or just cargo-culting. No one

The problem I kept running into Every time I practiced system design, I'd hit the same wall: I'd sketch out a rough idea for "design WhatsApp" or "build a URL shortener," and then... nothing. No feedback. No indication if my choice of Kafka over RabbitMQ was justified or just cargo-culting. No one to ask "hey, what's your latency requirement?" Real interviews have a human who prods you with the right questions. Solo practice doesn't. I built Arcwise to fix that. Arcwise is an open-source, AI-powered system design coach. Drop in any problem, and it walks you through the full design process โ just like a real interview session. Here's the flow: Describe โโโถ Clarify โโโถ Design โโโถ Refine โโโถ Review Describe โ Enter "Design a ride-sharing platform like Uber" or pick from built-in problems (WhatsApp, Twitter, Netflix, YouTube...) Clarify โ The AI asks 5 targeted questions: expected traffic, consistency model, latency targets, geographic scope, key constraints Design โ Based on your answers, it generates a live Mermaid architecture diagram Refine โ Chat with it: "add a caching layer", "swap to eventual consistency", "how would I handle 10M daily active users?" Review โ Get a scored breakdown across 5 dimensions (1โ10 each) Score Dimension What it measures functional_coverage Are all core requirements addressed? nfr_handling Scale, latency, availability component_justification Are tech choices explained and appropriate? tradeoff_awareness Does the design reason about tradeoffs? overall Holistic design quality No hand-wavy "looks good!" โ actual structured feedback on what you missed. I wanted this to be a real production-quality project, not a toy demo: Layer Tech AI LiteLLM โ swap between Claude, GPT-4o, Gemini, Groq, or local Ollama from Settings Backend FastAPI ยท Pydantic v2 ยท SSE streaming ยท PostgreSQL (async SQLAlchemy) Frontend Next.js 16 App Router ยท React 19 ยท TypeScript ยท Zustand Diagrams Mermaid.js (live DSL rendering โ edit the diagram directly or via chat) Auth JWT ยท bcrypt ยท GitHub OAuth ยท Google OAuth ยท SMTP password reset Infra Docker Compose ยท optional Redis session store One thing I'm especially happy with: LiteLLM as the AI abstraction layer. You set your key in .env and the whole thing works โ switch from Claude to GPT-4o to a local Llama3 model without touching a line of code. git clone https://github.com/nithiin7/arcwise.git cd arcwise echo "ANTHROPIC_API_KEY=sk-ant-..." > backend/.env docker compose up Open http://localhost:3000. Done. No account required to start โ auth is optional and off by default. Prefer a different model? Set OPENAI_API_KEY, GEMINI_API_KEY, or GROQ_API_KEY instead (or all of them) and switch from the Settings page. Streaming UX matters more than I expected. When the diagram generates token by token and you see it appear in real time, it feels alive. Buffering the whole response and dumping it at once felt dead in comparison. SSE streaming from FastAPI to Next.js was worth the extra plumbing. Mermaid.js is underrated. Everyone reaches for D3 or a graph library when they need diagrams. Mermaid gives you a clean DSL that an LLM can generate directly โ no coordinate math, no node positioning. The diagram is just a string. That means the AI can edit it through chat without any special graph manipulation logic. Multi-model by default was the right call. I started hardcoded to Claude, then added a ModelSelect component and LiteLLM routing. The moment local Ollama worked โ fully offline, free, no API key โ it changed the feel of the whole project. It's not just a Claude wrapper anymore. I have ideas, but I want to build what's actually useful: Export to PDF / PNG โ shareable artifacts for interviews Timed interview mode โ 45-minute countdown with hints disabled Community problem library โ upvote/submit design problems Diagram diff view โ show what changed between refinement rounds Team mode โ collaborate on a design in real time If any of these resonate with you โ or you have a completely different idea โ open an issue or drop a comment below. I read everything. GitHub: github.com/nithiin7/arcwise โ โญ a star helps more people find it Issues / Feature Requests: open an issue on GitHub Contributing: see CONTRIBUTING.md If you clone it, hit me up โ I'd love to know what you think. If something's broken, broken is a great excuse to open a PR.
Key Takeaways
- โขThe problem I kept running into Every time I practiced system design, I'd hit the same wall: I'd sketch out a rough idea for "design WhatsApp" or "build a URL shortener," and then..
- โขThis story was reported by Dev.to, covering developments in the dev space.
- โขAI advancements continue to reshape industries โ read the full article on Dev.to for complete coverage.
๐ Continue reading the full article:
Read Full Article on Dev.to โShare this article



