mrkeyoor.com_
Wed 16 Sept 06:22 UTC
Dev Toolsevaluationupdated 16 Sept 2026

breakscale review

Breakscale is a browser-based simulator for learning how distributed systems behave as traffic rises or components fail. You draw a topology, change the load, and watch queues, latency, retries, and goodput move through a deterministic discrete-event model.

Verdict

Our Breakscale run built in 6 seconds and all 1,064 tests passed in 21 seconds, making it the cleanest lab result in this group. Use it to learn and discuss failure mechanics, especially queues and retry storms. Do not use its simulated costs or capacity numbers as a purchase plan until the open hardware and cache-model gaps are resolved.

We ran it

Lab card: what happened when we ran breakscaleScreenshot of breakscale (breakscale.tech)
Install✓ · 125s117 packages · 230 MB
Build✓ · 6s
Tests✓ · 21s1064 passed · 0 failed of 1064 (vitest)
Repo192 files~47,297 lines of source · 2.6 MB · 3 CI workflows

Answers from our run

Does breakscale build from source?

Dependencies installed in 125 seconds (117 packages), and the build succeeded in 6 seconds. We cloned commit 4fd46c4 into a clean Debian container with 3 CPUs and no project-specific setup.

Do breakscale's tests pass?

Yes: 1064 of 1064 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use breakscale?

Capacity planners choosing real instance types: open issue 29 says memory, network, and IOPS specs do not affect simulation results, and several component types are absent from price totals.

What are the alternatives to breakscale?

System Design Primer, k6, Chaos Monkey. Our Breakscale run built in 6 seconds and all 1,064 tests passed in 21 seconds, making it the cleanest lab result in this group.

Setup5/5Bun install, 6-second build, and all 1,064 tests passed
Docs5/5Explains the engine, assumptions, examples, privacy, and code layout
Community4/51,156 stars with September 2026 pushes and issue activity
Maturity3/5Strong engine suite, but hardware and visual-model gaps remain

Who it’s for

Developers learning why queues, retries, timeouts, and bottlenecks interact.
Interview candidates who have outgrown static system-design diagrams.
Engineering teams that want a shared visual exercise before testing a real architecture.
Teachers who need repeatable failure scenarios that run in a browser without accounts.

Who it’s NOT for

Capacity planners choosing real instance types: open issue 29 says memory, network, and IOPS specs do not affect simulation results, and several component types are absent from price totals.
Teams that need to prove a production service survives load: Breakscale simulates a model and never sends traffic to your system.
Cache architects modelling multi-tier key behavior: issue 31 shows chained generic caches applying independent hit-rate rolls without shared keys or tier semantics.
UI teams requiring screenshot regression coverage: issue 14 says the existing tests do not detect panel and geometry mistakes, although an open pull request is working on that gap.
Groups needing built-in accounts or live co-editing: designs stay in the browser unless you export them or share an encrypted link.

Setup reality

Our sandbox installed Breakscale in 125 seconds, adding 117 packages and using 230 MB. The build passed in 6 seconds. Vitest then passed all 1,064 tests in 21 seconds, with 0 failures.

The local path needs Bun, then bun dev serves the React and Vite app on port 5173. The simulator itself runs in the browser. No account or provider credential is required for a local design, and the README says no telemetry leaves that path.

The checkout had 3 CI workflow files and no Dockerfile. There was no tests directory, although the available Vitest target ran successfully. Sharing uses encrypted data with its key in the URL fragment, while ordinary designs remain on the machine.

Breakscale turns static diagrams into deterministic experiments

Breakscale lets you place services, databases, queues, caches, and failure controls on a canvas, then raise traffic until the design behaves badly. The README lists 33 component types and 23 worked examples. Sixteen isolate teaching scenarios, while 7 reconstruct published architectures from companies such as Netflix and Stripe. Each reconstruction states that it is a teaching diagram with named omissions, not inside knowledge.

The useful change is motion with accounting. Requests are objects moving through a discrete-event engine, finite worker slots produce FIFO queues, and abandoned downstream work keeps consuming capacity after a caller times out. Service times come from a gamma distribution rather than one fixed delay. The engine measures p50, p95, and p99 from completed requests, so a retry storm can show high database use alongside zero useful completions.

What happened when we ran it

Our sandbox installed Breakscale in 125 seconds, pulling 117 packages and using 230 MB on disk. The build completed in 6 seconds. Vitest then finished in 21 seconds with 1,064 passed and 0 failed. That clean run matters for a teaching tool whose numbers are the product, and it gives a buyer a much stronger starting signal than a screenshot of the canvas.

The measured commit was 4fd46c4. Its checkout held 192 files, about 47,297 lines of source, and only 2.6 MB before installation. We found 3 CI workflow files and no Dockerfile. There was no dedicated tests directory, but the repository's actual Vitest target existed and passed. The lab result covers the available automated suite, not the accuracy of every model against a production incident.

The browser path is private, while shared designs leave the machine

Local use needs Bun and bun dev, which starts the Vite application on port 5173. The simulator runs in the browser without an account. According to the README, a design remains on the machine unless you share it. Shared designs are encrypted in the browser before storage, and the decryption key lives in the URL fragment that browsers do not send with the request.

That setup makes Breakscale easy to put in front of a class or a design-review group. It does not provide a shared workspace with roles, comments, or live cursors. Exported files and encrypted links are the collaboration mechanism described by the project. If the topology contains company-sensitive names or assumptions, review what the share action stores and where before treating client-side encryption as an organizational approval.

Hardware choices do not yet produce a capacity plan

Issue 29 draws a firm boundary around the simulator's sizing panel. It says priced size catalogs exist for only 3 component kinds, and designs containing unpriced workers can show monthly totals that omit them. The report also says memory, network, and maximum IOPS appear as specifications but do not affect results. Only virtual CPU count currently feeds a derived capacity value.

That makes the tool useful for comparing queueing behavior under stated assumptions, not for deciding which cloud machine to buy. A learner can change capacity and observe the consequence. An infrastructure team cannot enter an on-premises server, model memory exhaustion, or expect a selected network figure to slow traffic. Breakscale is honest enough to leave many values unset, but a polished cost panel can still look more decisive than the model underneath it.

Cache chains expose one documented modelling limit

The engine covers retries, circuit breakers, queues, autoscaling delays, sharding, and chaos controls. The 23 examples make those ideas inspectable without turning the exercise into a production outage. Deterministic seeds also help: the same topology and seed replay the same way, which is useful when two students compare why one change helped.

Open issue 31 shows where visual plausibility can outrun system semantics. Three generic caches with an 80 percent hit rate each perform independent rolls, reducing a 50 RPS test to about 0.4 RPS at the database. The report explains that real cache tiers depend on shared keys, content overlap, admission, and eviction. Until the model gains those semantics or a warning, stacking caches can teach the arithmetic of independent filters rather than a realistic hierarchy.

The 1,064 tests protect numbers better than pixels

The README says the suite checks request conservation, failure totals, utilisation bounds, and invalid numeric fields. Our run confirms that 1,064 tests passed. Issue 14 identifies a different hole: none of the existing tests would catch panels in the wrong place, overlapping annotation plates, or theme-specific geometry errors. Pull request 73 was open with a proposed visual-regression fix when we checked.

Repository activity is current. GitHub recorded the last push on September 14, 2026, alongside updates to feature and dependency pull requests. The project had 1,156 stars and 14 combined issues and pull requests. It was created on August 23, so that activity belongs to a young codebase rather than a long maintenance record. The latest-release endpoint returned no published GitHub release, which does not cancel the fresh commits or issue work.

Use the simulator to choose what to test for real

Breakscale's best output is a sharper hypothesis: retries may erase goodput, a queue may move rather than remove delay, or one shard may fail while the average looks fine. The 6-second build and complete 1,064-test pass make it easy to recommend for that job. When the question becomes whether your own API survives 500 requests per second, move to k6. When failure tolerance needs proof in deployed infrastructure, a chaos tool belongs in the loop. The simulation should decide which experiment to run, not stand in for its result.

Alternatives

ProjectWhat it isPick it when
System Design Primer gh↗A large collection of system-design explanations, diagrams, questions, and study material.pick this instead when you want broad interview coverage and reference notes rather than an interactive simulator.
k6 gh↗A load-testing tool that sends scripted traffic to real systems and records their behavior.pick this instead when the question is whether an actual endpoint meets a load target.
Chaos MonkeyA resiliency tool that terminates real instances to test tolerance of failures.pick this instead when you are ready to test failure handling in deployed infrastructure.

What people are saying

  1. [velocity-scout] xevrion/breakscale

Sources

  1. Breakscale README
  2. Breakscale package manifest
  3. Breakscale repository
  4. Breakscale issue 29: hardware sizing gaps
  5. Breakscale issue 31: chained cache semantics
  6. Breakscale issue 14: visual regression tests
  7. Breakscale commit tested by MrKeyoor

More dev tools reviews

IKONA-Security · noty · forward-implementation-first · black · ASC · BrewUI · the whole board →