MIT licensed · zero dependencies

Break your app
on purpose,
before production does it for you.

BlipBurst injects latency, resets, timeouts, corrupted bodies, and HTTP errors into your requests — with circuit breakers, retry strategies, and seeded determinism — so you find the failure paths before your users do.

$ npm install blipburst

Accelerate your failure testing

Without BlipBurst

  • Bugs found in production, not in CI
  • Retry logic hand-rolled per service
  • No idea which endpoints are chaos-tested
  • Flaky failures you can't reproduce
Time to first failure test Hours
VS

With BlipBurst

  • Fault injection in one line of config
  • Built-in retry, backoff & circuit breaker
  • Coverage heatmap via dashboard-blipburst
  • Seeded, deterministic replay every time
Time to first failure test Minutes

What's inside

Everything a chaos test needs, nothing it doesn't

Fault injection

Latency spikes, connection resets, timeouts, body corruption, and HTTP errors — each with independent probability.

Circuit breaker

Netflix Hystrix–style closed / open / half-open states, tunable thresholds and cool-down timeout.

Retry strategies

Fixed, linear, or exponential backoff with optional jitter and a configurable retry status list.

Failure profiles

Named presets — flaky, cascade, brownout, outage, slowdown — for one-line scenario setup.

Intercept mode

Patch fetch, axios, or Angular's HttpClient globally — zero call-site changes.

Seeded randomness

Deterministic fault sequences for reproducible CI runs — same seed, same failures, every time.

▁▄▇

Observability

p50 / p95 / p99 latency metrics, a structured JSON logger with a pluggable transport, and a webhook emitter for Slack or PagerDuty.

Recorder & replay

Capture a real fault sequence once, then replay it exactly to reproduce a flaky-test failure on demand.

Framework adapters

NestJS module, Express middleware, Next.js (API routes, Route Handlers, Middleware), and a React hook — plus withBlip() / expectRetried() for Vitest and Jest.

Global kill switch

One enabled option or a BLIPBURST_ENABLED env var — run chaos in dev and staging, guarantee it's off in production, without touching your fault config.

Works with the stack you already have

fetch axios Angular Express NestJS Next.js React Vitest Jest

Quick start

Reads like your config, not a mocking framework

Faults are declarative — no request interception boilerplate. Combine them with a retry policy and circuit breaker, or reach for a named profile when you just want a realistic failure mode fast.

Full API reference →
app.ts
import { BlipBurst } from 'blipburst';

const sim = new BlipBurst({
  faults: [
    { kind: 'latency', minMs: 100, maxMs: 500, probability: 0.4 },
    { kind: 'httpError', statusCode: 503, probability: 0.2 },
  ],
  retry: { maxRetries: 3, backoff: 'exponential', jitter: true },
  circuitBreaker: { failureThreshold: 5, timeout: 30000 },
  seed: 42, // deterministic in CI
});

const data = await sim.makeRequest();
const m = sim.getMetrics();
console.log(m.latency.p99, m.faultStats);

Companion tool

Watch the chaos happen, live

dashboard-blipburst is a separate, globally-installable CLI that spins up a local dashboard: a live fault feed, a heatmap of which endpoints actually get chaos-tested (and which never do), MTTR per fault type, and a history of past experiment runs. Point BlipBurst's existing logger.transport or webhook config at it — no changes to your BlipBurst setup required.

$ npm install -g dashboard-blipburst
Explore dashboard-blipburst →

FAQ

Frequently asked questions

Does BlipBurst work in the browser as well as Node.js?

Yes — it's zero-dependency and runs in any JS runtime. In intercept mode it can globally patch fetch, axios, or Angular's HttpClient.

Is the chaos deterministic, or random every run?

Pass a seed and get the exact same fault sequence every time — useful for reproducing a flaky CI failure on demand.

Does BlipBurst replace mocking libraries like MSW or nock?

No — those mock responses. BlipBurst injects realistic failure modes on top of your real requests, with retry and circuit-breaker logic to test against.

Can I see what's actually being chaos-tested?

Yes — the companion dashboard-blipburst CLI gives you a live fault feed, a coverage heatmap, and MTTR per fault type.

Which frameworks have first-class support?

NestJS (module), Express (middleware), Next.js (API routes, Route Handlers, Middleware), and React (hook) — plus withBlip() / expectRetried() helpers for Vitest and Jest. Anything else works via BlipBurst.interceptFetch(), which patches global fetch.

Can an AI coding agent integrate this for me?

Yes — the repo ships an AGENTS.md written specifically for coding agents: a decision tree for picking the right adapter, the design principles behind the adapter layout, and a template for adding support for a framework that isn't listed above.

Is BlipBurst free?

Yes — MIT licensed, free and open source, no paid tier.

Ready to break your app on purpose?

Install BlipBurst, pick a failure profile, and find your failure paths before production does.