whoopsie

See when your AI app
breaks itself.

Your chatbot loops. Your agent burns through tokens. Your RAG bot makes things up. Whoopsie catches it live and shows you what happened.

Works in Lovable, Replit, Bolt, v0.

pre-alpha — first published 2026-05-01. Use it on a side project, not anything production-critical. The data-handling story is at /privacy; PII is scrubbed in the SDK before any bytes leave your app.

Catches what's going wrong

Loops. Repetition. Hallucinations. Cost spikes. Tasks the agent ignored. Seven kinds of failure, all live.

No code, no terminal

Copy a prompt. Paste it into your AI builder's chat. Your AI edits the code for you. You watch the dashboard.

PII scrubbed before bytes leave your app

Default standard mode ships prompt, completion, tool args, and model reasoning text — with emails, phones, SSNs, card numbers, JWTs, and provider API keys replaced in the SDK before egress. Switch to metadata-only if you can't send any text off-machine. What we store →

How it works

  1. 01

    Pick where you build

    Lovable, Replit, Bolt, v0 — all supported. We give you a prompt tailored to that tool.

  2. 02

    Paste the prompt

    Open your AI builder's chat. Paste. Send. The AI installs whoopsie and wires it up. Takes about a minute.

  3. 03

    Watch your live dashboard

    The first time someone uses your app, every chat call shows up. Failures get a red tag with what went wrong, in plain English.

Failures we've caught before

AI failures don't throw exceptions. They return a response that looks fine — until your OpenAI bill arrives or a screenshot shows up on Twitter. Six ways your app can break silently, and the detector that catches each one before your users do.

A seventh detector — derailment — catches when an agent's tool sequence doesn't match the task it was given. All seven ship in v1, run locally on every trace, and add zero per-call cost.

get your install prompt →Paste into Lovable, Replit, Bolt, or v0. 60 seconds.
For developers (the actual code)
app/api/chat/route.tstypescript
import { streamText, convertToModelMessages } from "ai";
import { openai } from "@ai-sdk/openai";
import { observe } from "@whoopsie/sdk";

export async function POST(req: Request) {
  const { messages } = await req.json();
  const modelMessages = await convertToModelMessages(messages);
  const result = streamText({
    model: observe(openai("gpt-4o"), { redact: "standard" }),
    messages: modelMessages,
  });
  return result.toUIMessageStreamResponse();
}

That's the entire wrap. Vercel AI SDK v6, runs in any Next.js app (or anywhere you call streamText). If you're comfortable in a terminal, npx @whoopsie/cli init does the wrap for you.