Yantralok, Like Figma but for System Design. Design an architecture, simulate real load, inject failures, and watch where it breaks, before you deploy.
Developer toolsTypeScript · HCLGitHub @dhawal-pandyaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Software Systems Simulator
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Behavioral CAD for software systems. Design a distributed system on a canvas, give each component realistic numbers, generate traffic, and watch it behave: find the bottleneck, inject failures, and see the cascade, all before anything is deployed.
It's to architecture diagrams what finite-element simulation is to a bridge drawing: the diagram isn't documentation, the diagram is the system. Every box is a behavioral model, every line carries requests, every property changes the outcome.
Runs entirely in the browser, local-first, no backend, no account.Read the full README ↗Behavioral CAD for software systems. Design a distributed system on a canvas, give each component realistic numbers, generate traffic, and watch it behave: find the bottleneck, inject failures, and see the cascade, all before anything is deployed.
It's to architecture diagrams what finite-element simulation is to a bridge drawing: the diagram isn't documentation, the diagram is the system. Every box is a behavioral model, every line carries requests, every property changes the outcome.
Runs entirely in the browser, local-first, no backend, no account.
New here? Start with the Usage Guide, a hands-on walkthrough written for a working engineer.
An engineer with only the codebase is usually blind to how the system behaves in production, that knowledge lives with seniors, which is exactly why high/low-level design gate senior interviews. Yantralok lets you model the system you already work on, crank the request rate, kill any node, and watch where it actually falls over.
The contract: you own the inputs, the engine owns the consequences. It doesn't predict your Redis latency, you supply that. It predicts what emerges from your numbers under load (bottlenecks, latency accumulation, queue overflow, retry cascades) via closed, validated laws (Little's Law, resource conservation, retry/timeout amplification). Results are deterministic: same graph + seed + interventions → byte-identical run.
npm install
npm run dev # open the printed URL
Then either build Client → API → Postgres by hand, or load a shipped demo from Examples ▾ in the toolbar. Press Space to run. See the Usage Guide for the full tour.
Requires Node 18+.
DB load ≈ (1−h)·λ) with memory/eviction pressure..yantra file loaded through the normal importer..yantra files; export Mermaid diagrams, Markdown simulation reports, and a Terraform skeleton (a starting point for whoever owns the infrastructure, not a deployable config).Honesty is enforced: a control either changes the run or is visibly tagged not simulated. Still deferred by design: a backend and auth (local-first is the v1 stance), and anything that would amount to judging correctness rather than behavior — vector-store recall and CRDT merge semantics decide whether an answer is right, which is outside what this engine claims to model.
TypeScript end to end · Vite · React · React Flow (canvas) · Zustand · Tailwind + shadcn/ui · uPlot (charts) · Zod (schema/validation) · Dexie/IndexedDB (persistence) · Vitest. The simulation engine is pure TypeScript, no DOM, no wall-clock, no unseeded randomness, so it runs in Node, is testable, and can move to a Web Worker unchanged.
src/
engine/ Pure deterministic discrete-event engine (the crown jewel)
schema/ The versioned Zod document model + types, shared everywhere
components/ Component library (parameter profiles over engine laws) + compile
document/ Document ops, the persistence seam, graph integrity, .yantra +
Mermaid/report/Terraform export, and the infrastructure importers
(Terraform, Docker Compose, Kubernetes) behind one adapter seam
ui/ React app: canvas, inspector, charts, packet overlay, run controls
scenarios/ Shipped demos as .yantra files, loaded via the normal importer
docs/ USAGE.md (the usage guide)
The dependency rule points inward, ui → document → components → engine → schema: and is enforced by lint; engine/ may import only schema/.
| Command | Does |
|---|---|
npm run dev | Vite dev server |
npm test | Run the Vitest suite |
npm run build | Typecheck + production bundle |
npm run lint | ESLint (incl. the engine purity boundary) |
npm run check | Lint + test |
Local-first v1, complete and usable right in the browser. No backend, auth, or AI yet, all deliberately deferred behind stable seams.
.tf or terraform show -json), a Docker Compose file, or Kubernetes manifests, and every recognised resource becomes a configured component, named as your team names it. Compose is the richest source, depends_on and links are real call information, so those imports arrive already wired; Terraform describes what exists, not what calls what, so there the call graph is yours to finish — a panel lists what is still unwired and ticks down as you connect it.Pending, contributing no capacity at all — so a Deployment can serve at half its replica count's throughput while every node holds real, idle, unusable CPU. Cluster autoscaling grows into it, after a lag.