About

A system-design tool that respects your intelligence.

ArchForge exists to make distributed-system design tangible. Most tools stop at boxes and arrows. ArchForge goes further: it simulates real traffic, reasons about your topology as a graph, and writes the document you'd hand to a reviewer — so the diagram becomes a model you can actually test.

Deterministic rules, not AI.

The review engine is built on sixteen explicit, graph-based rules. It computes client-reachability, builds adjacency maps, and finds articulation points to flag single points of failure, exposed databases, missing caches, and scaling risks. The same diagram always produces the same findings — each with an explanation, a suggested fix, and the exact nodes it affects.

There is no model guessing in the loop. That's a deliberate choice: in a tool meant to teach and verify system design, honesty and reproducibility matter more than a confident-sounding paragraph. Every warning is something you can trace back to a rule.

How the simulator actually works.

The load simulator is a real discrete-event engine. A seeded random number generator drives a min-heap event queue of arrivals and departures. Each component is a queueing station with a service-time distribution, a number of parallel servers, a bounded queue, and a failure rate.

Requests route along your edges, wait in queues, get served or dropped under backpressure, and occasionally fail and retry. The engine records per-node and end-to-end latency samples, then reports p50/p95/p99, utilization (ρ = λ / cμ), queue depth, drop rate, and cascading-failure detection. Push traffic past capacity and you'll watch tail latency climb and queues saturate — exactly as queueing theory predicts.

Under the hood

Built on a modern, typed stack.

Next.js 16
App Router, Route Handlers, one custom server
React 19
UI + the React Flow canvas
TypeScript
Strict types across the whole codebase
Tailwind CSS v4
CSS-variable design tokens
React Flow
Infinite, interactive architecture canvas
Zustand + zundo
State management with undo/redo
Yjs + WebSockets
CRDT real-time collaboration
dagre
Automatic left-to-right graph layout
Zod
Validation for storage, import, and APIs
Vitest
Unit tests for the engines

Try it — it's open source.

Everything runs in your browser. Read the code, file an issue, or just start designing.