Features The application
The idea

Find the latency problem before it is politically expensive

Profilers explain what happened in a running system. They rarely explain why the user waited.

01

Explicit models

Your architecture written down. Nothing is inferred and nothing is hidden; the model is what you reason about.

02

Many seeded runs

The spread across hundreds of runs is the finding. Every run is seeded, so results reproduce across versions.

03

Critical paths and percentiles

Critical paths name the work that held each run up. Percentiles are split: UI events say when the interface responded; makespan says when the whole piece of work finished.

04

Yours, on your machine

Plain JSON in, plain text out. No account, no server, no instrumentation of production code.

The UI is a client, not a comfort blanket

It shows what the model produced and nothing it did not

Intentionally literal: what ran, how often and where time accumulated. Fully keyboard navigable.

The Simquence UI showing a makespan distribution, critical-path frequencies, percentiles and the dominant critical path
A real model, run 200 times. The shipped checkout example: three back ends asked at once, two queued behind a single-connection database, a short debounce on a fourth. The histogram counts runs by duration; the chart on the right counts how often each chain was the bottleneck. Most people predict the slowest back end dominates. In most runs it is the debounce.
The Model Composer titled new model, showing the System pane with the default model name, schema version and entry event, with the validate and export controls below
Writing a model from nothing. Compose opens a new model and says so in its title. The composer lists the four parts of a model (System, Contexts, Tasks, Wiring) and you work down them in order, then export plain JSON without writing any.
The Model Composer titled editing checkout, showing the checkout model's System pane with its entry event; its ten tasks are listed in the tree on the left
Changing one thing, to see what it was worth. Edit opens the loaded model in the composer, named in its title, with every task listed on the left. Change one task's context, distribution or emitted event, export, then run again on the same seed: the difference is the structure rather than the draw.
Get started

Install it and run the shipped example

One installer per platform, no administrator rights. Examples, Checkout, Run: a distribution and a critical path inside a minute.

Underneath is a Python library with a CLI. The CLI writes the three files below; the desktop app exports the same results as a zip of text files.

summary.json

Aggregate latency and contention statistics for the whole run.

runs.csv

Per-run metrics, suitable for analysis or plotting.

trace.csv

Optional per-task-instance timing and causality data.

The rest of the site

Where to next

Every page answers one question.