The flight recorder for the App Router.
Flightrec records a full Next.js session as a replayable trace — Server Actions, cache, RSC payloads, cookies/headers, and the client tree — and lets engineers rewind it on one timeline.
App Router apps are hard to debug because the story is scattered.
State spans the boundary
Server and client state split across two execution models.
Rendering is streamed
RSC payloads arrive in chunks; the UI changes over time.
Cache is invisible
updateTag vs revalidateTag — freshness is never surfaced.
No tool unifies it
Logs, traces, metrics, firewall rules each see one slice.
The ecosystem just admitted it needs a richer debugging surface.
Server Actions are first-class
Vercel exposes them as operational entities in firewall tooling.
Next.js ships MCP
next-devtools-mcp exposes errors, logs, routes, get_server_action_by_id.
Observability ≠ replay
Logs, traces, OTEL export — but no human-first time-travel over RSC.
The signals are there — Flightrec is the missing human-first replay layer on top of them.
One debugger, six planes, one timeline.
Unifying these six planes against a single scrubber is the wedge — versus observability, runtime metadata, or generic session replay.
Scroll the session. Watch the bug happen.
Which function ran, with what args, and its outcome — mapped to your source.
Ordered Flight frames, parsed and diffed as they streamed in.
The exact tree nodes created, patched, and removed on reconcile.
Cache outcomes are classified automatically — immediate-freshness, stale-then-refresh, no-visible-effect, or orphaned — so you see whether the user actually got fresh data.
Adjacent tools each see one slice. None replay the whole chain.
Replay.io
Time-travel — for client JS. No Server Actions, cache, or RSC.
Sentry Replay
Records the DOM, not server causality.
Vercel Observability
Logs, traces, metrics — not session replay.
Next.js MCP / OTel
Runtime metadata and spans — diagnostics, not replay.
Capture both sides. Normalize. Replay deterministically.
No shadow React runtime — a deterministic replay graph with checkpoint snapshots. MCP enriches; it is never the source of truth. The .frec bundle is self-contained.
Traction first, depth in the open.
Open-core. Free to adopt, paid to collaborate.
Local capture, all six planes, .frec, inspector. The adoption engine.
Cloud sync, shared trace links, retention, MCP server, AI insights.
SSO/SAML, self-host, audit, residency, SLA.
The moat is the trace format, the reconciliation/semantics engine, and the ecosystem (MCP, editor, CI) — not the UI. Viral loop: shared trace links pull teammates in.
Help us give the App Router its Redux DevTools moment.
We're building Flightrec in the open. Star the repo, try the demo, and follow the build.