Open source · Available on npm

Find the width
where it breaks.

WidthWatch adaptively samples the space between mobile and desktop, then turns layout discontinuities into evidence your pull request can act on.

viewport768px
overflow523px
overlap911px
adaptive width trace / live

Public scanner / bounded beta

Trace a public page.

One URL. A controlled width range. No login, cookies, or private networks.

Bounded public demo · 5 geometry probes · up to 5 captures75 MiB transfer cap · Local/CI uses the full configurable schedule.

By continuing, you confirm you are authorized to test this public page.

Report access. Screenshots and reports are retained for 7 days and can be opened by anyone who has the report link. They may reproduce content visible on the public page.

widthwatch / browser● ready

The missing dimension

Breakpoints are not the test.

A bug at 853px is invisible when your suite only captures 375, 768, and 1440. WidthWatch follows layout change itself.

  1. 01Probe

    Observe geometry across a sparse width sweep.

  2. 02Bisect

    Spend probes where geometry changes.

  3. 03Capture

    Record visual evidence at decisive widths.

sample report18 widths · 2 errors
clipped text
853px · clipped-textHeading exceeds its visible container.main > section:nth-of-type(2) > h2

Reproducible evidence

A regression,
not a mockup.

Twelve geometry probes preserve the full responsive trace. Four visual captures provide bounded evidence, while discovery-only findings remain actionable.

12geometry probes4visual captures
720742768811832

Observed at 742—811px768px discovery-only · primary CTA clipped

.checkout-actions > button

One engine. Three activation paths.

01

Typed API

Use report objects directly in your TypeScript tooling.

scanResponsive(url, options)
02

CI bootstrap

Generate a typed config and a read-only GitHub Actions workflow.

npx widthwatch init
03

Pull request gate

Fail on new responsive ranges and keep the HTML evidence as an artifact.

2 new ranges · check failed

MIT licensed · TypeScript · Chromium

Catch what fixed
breakpoints miss.

Scan a public pageStart ↓