Paste a raw Slack incident thread. Get a complete, blameless Post-Incident Review — with hallucination detection built in.
Live demo — the sample thread is pre-loaded. Hit Generate PIR and watch all 4 agents fire in sequence. · Open in full tab ↗ · GitHub ↗
Product notes
After a major incident, someone has to write the PIR. In practice, that means one engineer — usually the on-call who just spent an hour fighting the fire — synthesising a chaotic Slack thread into a structured, blameless document while the adrenaline wears off. It's the worst possible time to do careful analytical writing.
This tool automates the first draft. Paste the thread, get a complete PIR: reconstructed timeline, root cause analysis with a causal chain, contributing factors, customer impact, action items, and a lessons-learned section. The output isn't a template-fill — it reasons about what actually happened.
Technical discussion
Three agents in sequence is the straightforward design. The fourth agent — the Verifier — is the architectural bet. The core problem with a single LLM pass over an incident thread is that the model will confidently fill gaps. It knows what a good PIR looks like, so it will write one — even if the thread doesn't actually support certain conclusions.
Separating extraction, reasoning, and writing into distinct agents with strict output schemas at each step reduces this significantly. The Extractor is forbidden from interpreting — it only pulls what's explicitly stated. The Analyst reasons over structured JSON, not raw text. The Writer converts structured analysis to prose. Each handoff is a schema boundary that limits hallucination surface.
The backend runs on Railway (not Vercel) because the 4-agent pipeline takes 40–60 seconds end to end — well over Vercel's 10-second serverless timeout. Progress streams to the UI via Server-Sent Events, so each agent lights up as it completes rather than the user staring at a spinner. Cost per run is approximately $0.09 at current Claude Sonnet pricing. Rate limited to 10 requests per hour per IP.