CONTROLLED OUTAGES. USEFUL ANSWERS.

Know what breaks.
Before it breaks.

Switch off a dependency in a fresh test browser. See what disappears, inspect the requests, and keep the evidence.

Open source. MIT licensed. The browser-driving app runs on your computer.

THE WORKSPACE / REAL LOCAL CAPTURE

Same page. Different conditions.

BUILT-IN DEMO
BLACKOUT LAB / LOCAL WORKSPACE↗
Actual Blackout Lab demo run: a normal map appears in the baseline, selected origins are blocked in the experiment, and three unsuccessful requests are recorded.
A real run against the included local demo. Screenshot cropped for detail.Open full screenshot

A SMALL EXPERIMENT, END TO END

From dependency to evidence.

No resilience score.
Something you can actually inspect.

01 / OBSERVE

Meet the origins.

Open one page in a fresh Chromium session. See the origins and resource types it requests during the capture.

02 / CHOOSE

Pick the outage.

Select external origins to block. Your target’s own origin stays on, so you can isolate a dependency.

03 / COMPARE

Watch the difference.

Compare a normal page load with a second fresh capture that aborts requests to the selected origins.

04 / KEEP

Take the evidence.

Save the screenshots and observations in a standalone HTML report or a JSON file, right on your computer.

YOUR COMPUTER IS THE LAB

A local tool.
A useful habit.

The public site introduces the project. The working application starts locally, with its own browser-driving backend.

  • RUNTIMENode.js 24 LTS
  • SOURCEGit + npm
  • TEST BROWSERPlaywright Chromium
Read the complete setup guide
GET THE LOCAL LAB
git clone https://github.com/ufodia/blackout-lab.git
cd blackout-lab
npm ci
npx playwright install --no-shell chromium
npm run dev

Using Windows PowerShell? If script policy blocks the launchers, use npm.cmd and npx.cmd. Keep the local server running while you use the workspace.

YOUR FIRST EXPERIMENT

Start with a failure you can repeat.

The included local demo makes the first rehearsal independent of a changing internet service.

  1. 01

    Use demo → Inspect target

    Open the app, select the built-in target, and let the fresh browser discover its requests.

  2. 02

    Switch off its external origin

    Select the demo’s external fixture origin in the switchboard. Keep the target’s own origin on.

  3. 03

    Run rehearsal → Compare

    Inspect the missing map, review the request observations, and save the report.

A CLEAR BOUNDARY

The experiment stays in your hands.

Read the privacy notes
A

Fresh browser sessions.

Captures do not copy your everyday browser login or cookies. Use pages and test environments you own or have permission to examine.

B

Local screenshots and reports.

There is no hosted audit service or cloud report upload. The test browser still contacts the target and its unblocked dependencies. Reports can contain page content and URL paths; review them before sharing.

C

Evidence with a defined scope.

Each condition captures one navigation and a bounded observation window. It does not exercise every interaction, login flow or WebSocket. A complete-looking screenshot is not a resilience certification.

OPEN THE NOTEBOOK

Understand the experiment.

The source, boundaries and reproducible checks are documented in the repository.

INDEPENDENTLY MAINTAINED BY UFODIA

Found the failure before a user did?

A coffee helps maintain browser compatibility, regression tests and clear documentation. Support is voluntary; everyone gets the same open-source tool.

Buy ufodia a coffee