System design should be
readable, runnable and yours.
Nautilus is a browser-only canvas for designing, simulating and explaining software architecture. No accounts, no backend, no lock-in — just a graph you can draw, run traffic through, size and price, share as a file, and host yourself.
Architecture tools stopped being about architecture.
Most diagramming tools treat a system design as a picture: shapes, arrows, a login wall and a pricing page. The structure of the system — what depends on what — is thrown away the moment you save.
Nautilus keeps that structure. Because the canvas holds a real directed graph, the same document can be traced, loaded with traffic until a service saturates, reviewed by an assistant that understands it, and committed to a repository as plain JSON. And because it runs entirely in the browser, none of that requires trusting anyone with your architecture.
Four decisions everything else follows from
No accounts, no servers, no telemetry. Diagrams live in your browser and in files you export. The app makes no network calls of its own.
AI is optional and uses a key you supply, sent straight to the provider. That is how the tool stays genuinely free instead of metered.
Every diagram is JSON you can diff, commit, script or import elsewhere. There is nothing to migrate away from.
The canvas holds a real dependency graph, so it can be traced step by step, loaded with traffic until something gives out, and priced.
A short tour
A diagram that answers back
Trace walks the graph in dependency order: entry points first, then everything whose upstream work has finished — so parallel branches light up together, and cycles get named instead of hanging.
The load playground goes further. Give each node a capacity, replica count, latency, error rate and price, then set the offered traffic. Every node shows its utilisation, served rate and queue-inflated latency, and the panel names the bottleneck, the dropped traffic and the p95 of the slowest path against your timeout budget. Change a number and the whole picture updates instantly.
It answers the questions a drawing cannot. The ramp sweeps the load from zero and shows you the knee where the design gives out. The capacity plan sizes every node to your target utilisation and prices the result — Payment Service 8 → 90 replicas, $1,050 → $11,800/mo. Failure injection takes a node out so you can watch what survives. Pin a baseline and every later number arrives as a delta, with new bottlenecks called out by name.
Useful because it can see the canvas
The assistant receives your current diagram as context, so “review this” and “add a read replica” mean something concrete. It answers in conversation, or returns a complete diagram you can apply.
Nothing is applied automatically: a generated design waits behind Replace canvas, Add to canvas or Discard. Output is validated before it can touch your work, and requests go straight from your browser to OpenAI, Gemini, Claude or Groq with your own key.
How the assistant worksBuilt by the community, and small enough to be approachable
Adding a template or an icon is a single file. The canvas, the simulation engine and the provider client are where the interesting work is. Everything runs locally with npm install && npm run dev.