**StackMonkey** is a browser-based distributed systems simulator that helps software engineers design, simulate, and understand how system architectures behave under different workloads and failure scenarios.
Build architectures using components such as API gateways, load balancers, services, workers, message queues, caches, and databases. Generate traffic, simulate sudden load spikes, introduce component failures, and observe how requests flow through your system.
StackMonkey provides visibility into key performance metrics, including throughput, latency, queue depth, CPU utilization, memory usage, and dropped requests, helping developers identify bottlenecks and understand potential failure points.
Key capabilities include:
• **Visual Architecture Builder:** Design distributed system architectures using a drag-and-drop editor.
• **Traffic Simulation:** Simulate concurrent users, request rates, traffic spikes, and different workload patterns.
• **Failure Injection:** Experiment with service failures, database outages, queue saturation, timeouts, and other failure scenarios.
• **Performance Monitoring:** Observe throughput, p50, p95 and p99 latency, resource utilization, and queue behaviour.
• **Load Balancing:** Experiment with different load balancing algorithms and configurations.
• **Architecture Templates:** Explore common system designs such as URL shorteners, notification systems, chat applications, video streaming, and more.
• **AI Architecture Reviews:** Get AI-assisted feedback on architecture decisions and potential design weaknesses.
• **System Design Challenges:** Practise designing systems through structured challenges and evaluate your solutions.
StackMonkey is designed for backend developers, software engineers, infrastructure engineers, system design learners, and anyone interested in understanding distributed systems.
Whether you're learning system design, exploring architectural trade-offs, or experimenting with failure scenarios, StackMonkey provides an interactive environment to understand how distributed systems behave.
**Design it. Break it. Understand it.**