2026 · Chrome Extension · React · TypeScript · IndexedDB

Redirect Radar

Real-time HTTP redirect tracer for QA and SEO debugging — headers, cookies, chains, and actionable scores.

Role
Solo engineer — concept, implementation
Year
2026
Stack
Chrome Extension · React · TypeScript · IndexedDB
Redirect Radar — cover

The problem

Redirect chains are where SEO scores go to die and where security holes hide. Tracing them normally means curl, spreadsheets, and patience — and the result is data, not insight.

The approach

A Chrome MV3 extension that traces HTTP redirects in real time as you browse: it follows the chain, captures headers and cookies at every hop, and generates actionable SEO and security scores — not just raw captures, but a verdict you can hand to a stakeholder.

Redirect Radar marquee — a traced chain with status codes and a score panel

A traced chain: every hop with its status code, headers, and the resulting SEO/security score.

The hard parts nobody warns you about

Redirect tracing sounds like a solved problem until you meet the edge cases, and they're all in here:

  • JS redirects (location.href = …) never fire onBeforeRedirect — the webRequest API sees them as a fresh navigation. The tracer infers them: a hop that completed with 200 text/html followed by a new main-frame request within 2 s gets marked "JS redirect" in the chain.
  • Meta refresh — same symptom, but MV3 gives you no response body to parse. The chain keeps a placeholder hop and the findings panel flags it.
  • Service worker suspension — MV3 workers die after ~30 s idle. Keep-alive pings keep the trace buffer alive while a trace is running.

At the core, a service worker holds the active traces per tab and broadcasts updates; the popup subscribes, renders, and can fire an on-demand trace for any URL. The message contract is a typed union — discriminated at every handler, zero any crossing the boundary.

Everything runs fully locally: history and traces persist in IndexedDB as a ring buffer of the last 100 traces (oldest evicted on insert, findings indexed per trace), settings sync through chrome.storage.sync. Nothing leaves the machine — a debugging tool that respects the privacy of whoever's debugging. Built with React and TypeScript, with a design-token system so the inspector, the trace table and the dark theme never drift apart.

Redirect Radar extension panel with the trace history and scores

The trace history — persisted locally, searchable, exportable for tickets.

The outcome

QA and SEO teams trace a redirect chain in one click, get a scored report, and move on — the extension, product site at redirect-radar.com, turned a manual audit ritual into a background check.