Become a design partnerApply now
New — April 1, 2025

We got tired of waiting for bugs to happen. So we built a debugger that doesn't.

Replay Precog delivers deterministic root-cause analysis for bugs in code you haven't written yet. Arrest the bug before it commits the crime.

Every other debugger waits for the crime. We've moved on.

Current debugging tools — including our own — share a fundamental limitation: they require the bug to have already happened. You write code. It ships. It breaks. You record. You replay. You find the root cause.

This is, frankly, embarrassing. We built a time machine that only goes backwards. Replay Precog goes the other direction.

How Precog works.

One new MCP tool. Three capabilities that shouldn't be possible.

Speculative execution analysis

Precog runs a speculative React reconciler across a probabilistic AST shadow DOM — a ghost renderer that simulates what your component would do if you finished writing it.

“Race condition detected in optimistic cart update. Root cause: you will name a variable 'data' instead of 'cartData', colliding with outer scope.”

Your personal bug fingerprint

Precog infers future mistakes from your typing velocity, variable naming conventions, and your personal Redux anti-pattern fingerprint — learned from your commit history.

“This mistake is consistent with your Tuesday afternoon commit history. We've pre-generated the Replay recording. Link: replay.io/precog/abc123”

Pre-generated recordings

When Precog detects an imminent bug, it generates a full Replay recording of the failure before it occurs — so your agent already has the context it needs to fix it.

“Note: this recording depicts a future that can still be avoided.”

See it in action.

Run replay-mcp precog --watch on any file and Precog begins analyzing your potential execution state in real time.

terminal

$ npx replay-mcp precog --watch ./src/components/PaymentFlow.tsx

⚠ PRECOG WARNING [line 47 – not yet written]

You are about to introduce a useEffect dependency array omission. Predicted at 94.3% confidence.

Suggested fix (preemptive):

useEffect(() => { ... }, [userId, cartTotal])

// userId added. You were going to forget it again.

PRECOG CRITICAL [line 83 – 12 minutes from now]

Imminent race condition in optimistic cart update.

Replay recording pre-generated. Link: replay.io/precog/abc123

For teams

The Precrime Dashboard

A real-time feed of bugs your engineers are statistically likely to introduce in the next 72 hours, ranked by predicted severity.

Engineering managers have described early access as "clarifying."

I finally have data to back up what I've always suspected about our senior front-end engineer.
— Series B fintech CTO, beta customer

We are not responsible for any personnel decisions made using Precog data.

Precrime dashboard — next 72h

  • jsmith / CheckoutFlow.tsx91%
  • mlee / AuthProvider.tsx87%
  • rpark / useCartState.ts74%
  • jsmith / PaymentForm.tsx68%

Ambient Precog — vibe analysis

⚠ Keystroke cadence: erratic

⚠ You are about to ask the AI to "just make it look more premium."

… structural instability inferred … component tree probability …

… prompt sentiment delta …

For vibe-coded apps

Ambient Precog

Built for apps where there is no code to analyze — only vibes. Precog monitors the emotional state of the prompt author using keystroke cadence, sentence fragment length, and the ratio of exclamation points to question marks in your prompts.

From this, it infers structural instability in the component tree before the component tree exists.

Compatible with Lovable, Base44, Replit, and any other platform where the code is technically someone else's problem.

Known limitations.

We believe in radical transparency. Especially when it's funny.

  • Other people's bad PRs

    Precog cannot predict bugs introduced by other people's bad PRs landing in your branch. This is a known class of unpredictable chaos we call external state corruption and is philosophically outside our roadmap.

  • TypeScript any

    TypeScript any renders Precog completely blind. This is intentional. We consider it a feature.

  • CSS

    Precog has no jurisdiction over CSS. No one does.

Stop debugging bugs after they happen.

We've moved on.

Run the command below to enable Precog.

npx replay-mcp precog --enable

Note: this command does nothing. Happy April 1st.

We do, however, actually build the best debugging tools in the world for bugs that have already happened.