StackMonkey Icon StackMonkey

A deterministic simulator built to break whiteboard designs.

Every system looks clean on an architecture diagram until real traffic arrives. StackMonkey gives you a discrete-event simulation engine with measured bare-metal runtimes, realistic cascading failures, and mathematical checks against queueing theory.

warning
01 · Visual Stress

Break It & Red Outlines

One-click stress scenarios. Overloaded boxes glow red, stressed nodes outline amber, and summary cards tint with weakest-link indicators.

speed
02 · Benchmarked

5 Measured Bare-Metal Stacks

Node.js/Express, Python/FastAPI, Go/net-http, Rust/axum, and Java HttpServer measured on a physical test machine. Every single number displays its provenance.

calculate
03 · Verifiable

"Show Your Working" Cards

Estimated limit cards identify your bottleneck node. Per-node breakdown cards compare textbook hand maths side-by-side with live discrete simulation.

extension
04 · Guided

Interactive & AI Challenges

Curated break-and-fix challenges across Easy, Medium, and Hard, plus on-demand AI challenges. Free Google sign-in unlocks the live timer, machine budgets, and 6-point grading.

bolt
05 · Friction-Free

Instant Run — Zero Signup to Simulate

No sign-in walls or credit cards to model and simulate. Anyone can drag boxes and test architectures immediately. Free Google sign-in is only needed to take challenges, export, or sync designs.

01 · Discrete-Event Canvas

Simulate, saturate, and break

Draw your topology with 14 draggable building blocks. A discrete-event engine steps its internal clock forward from event to event, running live at 1x, 2x, 5x, or 10x speed. Because requests block workers and fill bounded queues, failures cascade naturally rather than silently succeeding.

14 Draggable Components in the Palette
devices Client door_front API Gateway speed Rate Limiter alt_route Load Balancer cloud CDN Edge dns Service engineering Background Worker hub External 3rd-Party API swap_horiz FIFO / Priority Queue campaign Notification Topic (Pub/Sub) memory Cache Tier (Redis/Memcached) database Database Engine search Search Index (Elasticsearch) inventory_2 Object Storage (S3 / Blob)
pause_circle

Pause or Stop Any Box

Freeze a primary database or pause a worker pool mid-flight. Watch how quickly requests back up, timeouts trigger, and circuit breakers open.

flash_on

One-Click "Break It" Stress

On the URL shortener template, one click freezes Redis and doubles client traffic. Watch PostgreSQL hit 100% CPU, success drop to ~83%, and the estimated limit pin PostgreSQL as the weakest link.

trending_up

Spike Picker (2x, 5x, 10x)

Instantly multiply incoming traffic across every client node proportionally—scaling open Poisson rates, concurrent users with think times, and open WebSockets without altering their relative share.

palette

Red & Amber Overload Heat

Overloaded boxes glow red, stressed nodes outline amber, and KPI summary cards tint with weakest-link indicators so you spot bottlenecks at a glance.

alt_route

Load Balancer Software Presets

Switch balancer software between Generic, nginx (passive health, max_fails=1), HAProxy (active checks every 2s, redispatch), and AWS ALB (active checks every 30s). Evaluates Round Robin, Least Connections, and Power of Two.

power_settings_new

Connection Circuit Breakers

Protect struggling dependencies. Configure consecutive failure trip thresholds (breakerFailures) and cooldown windows (breakerOpenMs) with half-open probe testing to halt cascading brownouts.

02 · Failure Dynamics & Physics

Realistic behaviour, not idealized diagrams

Real-world distributed systems don't fail neatly. They suffer from cascading retry storms, memory leaks, thread starvation, and cold-cache floods. StackMonkey simulates the nuanced physical constraints of services and databases.

replay

Timeouts & Retry Storms

Configure retry counts, backoff multipliers, and deadlines. Watch naive retries multiply traffic onto a database that is already struggling, creating an inescapable brownout that backoff alone cannot resolve.

link_off

Network Faults: Lost Calls & Cut Links

Inject connection loss (0–100% lossPct) or severed links (cut). A lost answer means server work was completed but the caller timed out, triggering duplicate work and redeliveries. Severed links drop WebSockets with reconnect backoff.

memory

Single-Core & Idle Cores Realism

Node.js and Python run CPU work on 1 core per process (processes setting); Redis runs single-threaded. Sizing a Node service up to an 8-core instance does nothing unless processes are scaled up—StackMonkey flags idle cores explicitly.

dangerous

Memory Budgets & OOM Kills

Every service has a memory budget. When request concurrency and in-flight payload queues exceed available RAM, the process crashes (OOM), in-flight calls fail, and the service suffers restart downtime. Swap slowdown triggers above 85% RAM.

cached

Cache Fallback & 5 Strategies

Model read-through, cache-aside, write-through, write-behind, and write-around patterns. Toggle the fallback switch: when Redis is paused, full, or timed out, traffic routes around the cache to the database instead of failing.

database

Replication Lag, Shards & Failover

Buffer cache dynamics calculate disk read delays when datasets exceed RAM. Model primary-replica replication lag (>100ms lag flagged as stale reads), partition skew across sharded tables, and automatic leader promotion during failovers.

03 · Radical Empirical Rigour

Numbers you can trust (your real differentiator)

Most simulators generate synthetic numbers from arbitrary random math. StackMonkey's engine runtimes are benchmarked on dedicated hardware, and every number explicitly discloses its source.

Engine Benchmark & Modeling Matrix

We distinguish bare-metal empirical measurements from published architectural specs.

Measured Modelled
Benchmarked on Dedicated Hardware

Timed on a dedicated 2 vCPU physical test machine to measure context switching, per-core throughput, and memory allocations. Unmeasured frameworks (Django, Flask, Rails, Spring) are deliberately omitted:

Modelled from Published Specifications

Engines where physical bare-metal isolation was unavailable are modelled rigorously from vendor benchmarks and peer-reviewed whitepapers:

Language & Web Frameworks Node.js/Express, Python/FastAPI, Go/net-http, Rust/axum, Java HttpServer
Distributed NoSQL Cassandra (rings), MongoDB, DynamoDB (token buckets)
Relational Databases PostgreSQL 16, MariaDB
Log Streaming & Queues Apache Kafka (partitions cap consumers), AWS SQS, SNS, Pub/Sub
In-Memory Caches Redis 7 (single-threaded event loop)
Search Indexing Elasticsearch (shard scatter-gather)
Message Brokers RabbitMQ
Edge & Object Stores S3 / Blob Storage (503 SlowDown throttling), CDN Edge PoPs (15ms trip)
source

Source Provenance on Every Stat

Hover over any parameter in the inspector. Every single number states its exact origin: measured, published, assumed, or typed by you.

functions

"Show Your Working" Cards

The Estimated Limit card identifies your weakest component with an uncertainty band. Detailed breakdown cards display step-by-step hand calculations side-by-side with simulator results.

verified

Checked Against Queueing Theory

Verified live against 8 analytical queueing proofs: M/M/1, M/M/4, M/M/1/K blocking, M/G/1 Pollaczek-Khinchine, M/D/1, Little's Law, and closed crowd finite sources.

Read validation proofs →
04 · Interactive Mastery

Learn with templates and live challenges

Stop memorizing static whiteboard diagrams. Build intuition by interacting with production-grade templates and solving auto-checked break-and-fix challenges.

account_tree

10 Architecture Templates

Pre-built architectures sized honestly (50–70% busy on busiest tier): URL shortener, chat service, news feed, video streaming, file storage, ride sharing, rate limiter, notification system, web crawler, and payment system.

Tagged: Reference vs. Experimental
quiz

Curated & AI Challenges

Tiered into Easy, Medium, and Hard, plus on-demand AI challenge generation. Free Google sign-in opens the challenge canvas with a live elapsed timer, tracking your best solve times across reloads.

Easy, Medium, Hard · Free Google sign-in required
verified

6-Point Automated Grading Engine

Evaluated against 6 criteria: steady throughput, p99 latency, failure survival, p99 during outage (hard), required components, and machine budgets (1.5x for Medium, 1.25x for Hard). Trivial shortcuts fail automatically.

Show a solution unlocked after solve
psychology

AI Architectural Review (Beta)

Click AI Review for an instant structured critique: Verdict with simulated stats, per-hop request flow traces, what works well, what will break under stress, and prioritized fixes. Includes 5 free reviews per rolling 24 hours.

Task-aware · 5 free reviews / day
receipt_long

Diagnostics & Loss Logs Drawer

An interactive inspector explains exactly why each request failed: down, queue full, rate limited, timed out, or process killed by OOM. Pinpoints missing consumers, saturated queues, and replication lag.

Pinpoints missing consumers and lag
05 · Developer Experience

Built for your actual workflow

StackMonkey respects your flow. You can model, break, and explore complex distributed topologies with zero friction and zero proprietary lock-in. A free Google sign-in unlocks challenges, exports, and cloud sync.

draw

Native draw.io (.drawio) Export

Export directly to uncompressed .drawio files with embedded metadata. Open directly inside draw.io or diagrams.net for architecture reviews and presentations.

download

Retina PNG, SVG & JSON

Export high-resolution 2x retina PNGs for design docs, scalable SVGs, JPGs, or portable JSON diagram files. System save dialog lets you pick file name and folder.

share

Zero-Upload URL Sharing

Share links compress the entire topology, configuration, and traffic profile into the URL hash itself using deflate-raw. Nothing is uploaded to a remote server.

smart_toy

File Interface for AI Agents

Coding agents (Claude, Gemini, Cursor) can generate, import, and test system designs via standard JSON architecture files documented in the agents specification.

Download for-agents.md spec →
undo

Undo, Redo & Safety Copies

100-step canvas history with undo/redo shortcuts, automated local autosave, named designs, and an automatic "Previous Canvas" backup if you accidentally reset.

lock_open

Zero Signup to Simulate

Jump right in. You don't need to create an account, enter an email, or provide credit card information to model and simulate. Free Google sign-in is only needed to take challenges, export diagrams, or sync designs.

policy

Engineering Integrity & Scope Guarantees

StackMonkey is an educational and analytical tool designed to teach resilience and capacity planning. Here is what we promise never to claim:

✕ Not a Production Predictor

StackMonkey is a deterministic learning model with measured inputs, not a replica of your AWS VPC or live production cluster.

✕ Only 5 Measured Frameworks

Only Node.js/Express, Python/FastAPI, Go/net-http, Rust/axum, and Java HttpServer are measured on bare metal. Unmeasured frameworks are omitted.

✕ Modelled Engines Are Labelled

Kafka, SQS, SNS, S3, NoSQL and CDN are modelled from published specs, never misrepresented as physical hardware benchmarks.

✕ Sequential Call Execution

Downstream service calls execute sequentially in order; abandoned calls consume downstream capacity unless shedding expired calls is enabled.

✓ Honest AI Tools

AI Review and AI Challenges run on Amazon Bedrock to critique topologies and generate verified scenarios with rolling daily quotas (5 reviews/day, 3 challenges/day). The engine simulation math remains 100% deterministic.

✓ Transparent Telemetry

We use standard aggregate analytics (Google Analytics) to monitor simulator usage and never claim "zero telemetry" falsely.

rocket_launch

Ready to break your first architecture?

Jump straight onto the canvas with pre-configured templates or build your own distributed system from scratch.