Every software engineer and Site Reliability Engineer (SRE) knows that cold, paralyzing dread: it's 3:17 AM, PagerDuty is sounding alarms like an air-raid siren, the monitoring dashboard is flatlining at 0 BPM, and the terminal is vomiting thousands of incomprehensible red stack traces.
Most post-mortem tools treat catastrophic production outages like boring administrative chores — spreadsheets, sterile ticketing forms, and tedious retrospectives.
For the Kiroween {2026} Hackathon (Costume Contest: Spooky & Distinctive Developer Tools track), I set out to flip that dynamic completely.
Meet BugMortem — an interactive, cyber-gothic digital morgue and automated forensic report generator for catastrophic software failures.
- 🌐 Live Autopsy Dashboard: bugmortem.vercel.app
- 🌺 Source Code: github.com/AdamBabinicz/bugmortem
⚡ What is BugMortem?
BugMortem transforms real software catastrophes into a forensic, surgical investigation:
- Flatline HUD & ECG Monitor: A cybernetic emergency room interface with audio-visual flatline cues, vitals monitoring, and instant incident severity classification (P0 Critical / P1 Major).
-
The 5 Canonical Nightmares: Preloaded, forensic deep-dives into industry-standard software horrors:
- React SSR / Next.js: Hydration Mismatch Nightmare (P0) — DOM tree divergence caused by illegal client-only browser state accessed during server render.
-
Node.js Heap: Silent Memory Leak & Linux OOM Killer 137 (P0) — Dangling
EventEmitterclosures retaining 4GB+ until the OS kernel sendsSIGKILL. -
HTTP Handshake: CORS & Auth Headers Preflight Massacre (P1) — Unhandled
OPTIONSpreflight cascades breaking SPAs on cross-domain APIs. - PostgreSQL / Prisma: Connection Pool Starvation (P0) — Leaked database connections locking payment checkouts under high concurrency.
- Distributed Microservices: Cascading Retry Storm (P1) — Synchronous retries without exponential backoff or jitter amplifying request bursts by 500%.
- Forensic Timeline of Doom: Chronological reconstruction of the fatal seconds and telemetry alerts leading up to the collapse.
- Side-by-Side Code Autopsy: Direct juxtaposition of the cursed code against the resurrected, safe SRE solution — complete with 1-click clipboard copy.
- Custom Incident Ingestion (Live Morgue Intake): An interactive intake form allowing teams to paste their own real-world crash logs, select severity, and auto-generate an incident protocol.
-
1-Click SRE Incident Protocol Exporter: Instant export to standardized, professional Markdown (
.md) formatted for Jira, Confluence, and GitHub Issues. - Cyber-Gothic Incident Death Certificate (PDF): A stylized, printable A4 clinical certificate with morgue reference number, vital stats, and SRE certification seal.
🏗️ Technical Architecture & Ironclad Rules
BugMortem was engineered using modern web standards without sacrificing UX performance or accessibility:
- Framework: Next.js 16.4 App Router, TypeScript 5.9, Turbopack, and pnpm.
-
Styling & Theme: Tailwind CSS v4 with custom dark/light cyber-morgue tokens (
@variant dark) and zero inline-styles. -
Pure i18n Architecture: Complete bilingual support (English default for Kiroween judges + Polish) driven by modular dictionaries (
src/i18n/locales/en.tsandpl.ts). Zero hardcoded UI strings — 100% dynamic token resolution via typed hooks. -
Advanced Polish & Typography Polish: Automated non-breaking space insertion (
text-wrap: pretty;) to eliminate ugly hanging single-letter conjunctions on mobile viewports. - Zero Bloat & Mobile-First: Responsive forensic layout engineered from 320px screens to ultra-wide 4K workstations.
- 100/100 PageSpeed Benchmark: Perfect scores across Performance, Accessibility (WCAG AAA), Best Practices, and SEO with sub-second FCP/LCP (0.9s).
🤖 Architected for Kiro: Specifications as Code (/.kiro)
One of the most powerful requirements of the Kiroween hackathon was embracing Kiro — an agentic development paradigm driven by formal project specifications.
Instead of writing code blindly, the BugMortem codebase was structured around dedicated Kiro steering directories tracked in Git:
bugmortem/
├── .kiro/
│ ├── specs/bugmortem/
│ │ ├── requirements.md # Formal functional/non-functional criteria
│ │ └── tasks.md # Step-by-step verified roadmap
│ ├── steering/
│ │ └── rules.md # Strict architectural invariants
│ ├── hooks/
│ │ └── pbt-test-runner.json # Automated test trigger on file changes
│ └── agents/
│ └── sre-autopsy-agent.json # Custom SRE Forensic Autopsy specialist
🔬 What's New in BugMortem v2 (November 5 Update)
Since our initial submission, we pushed BugMortem's engineering rigor and realism even further:
1. Zero-Asset Procedural Web Audio API Synthesizer
Rather than streaming bloated audio files, we built an entirely procedural Web Audio API sound synthesizer (0 KB network payload):
- P0 Critical Flatline: Continuous emergency tone indicating total service death.
- P1 Warning Pulse: Rhythmic hospital heartbeat tone (~70 BPM) simulating a degraded service under pressure.
- Resurrection Chime: A triumphant harmonic chord triggered upon copying safe SRE code, transitioning the HUD ECG to a healthy emerald wave.
- Autoplay & Mute Guard: Fully compliant with browser audio autoplay policies and includes an instant header mute toggle.
2. 33 Invariant Assertions: Property-Based Testing with fast-check
To ensure the autopsy engine never chokes on real-world chaotic log dumps, we implemented 33 property-based test invariants using Vitest and fast-check:
- Invariant 1 (Resilience): Fuzzing parser inputs with completely arbitrary/corrupted strings guarantees the pipeline never throws unhandled exceptions.
-
Invariant 2 (Severity Bounds): Severity always strictly resolves to deterministic
P0orP1. - Invariant 3 (Timeline Monotonicity): Events strictly follow non-decreasing time order, always ending with a fatal crash terminus.
- Invariant 4 (Schema Fidelity): Exported Markdown and death records consistently contain all necessary SRE post-mortem sections.
3. Automated Kiro Hooks & Dedicated SRE Sub-Agent
We leveraged advanced Kiro configuration primitives:
-
Automated Hook (
.kiro/hooks/pbt-test-runner.json): Triggerspnpm test --runupon source code modifications to prevent invariant regressions. -
Specialized Forensic Agent (
.kiro/agents/sre-autopsy-agent.json): A custom Kiro sub-agent persona configured with explicit blameless RCA directives and strict type-safe patch synthesis rules.
4. Cyber-Gothic Incident Death Certificate (Printable PDF)
Engineers can now export an official A4 Death Certificate directly from the autopsy view. Styled like a clinical forensic pathology document, it includes timestamped vitals, memory biopsies, root-cause analyses, and an official "SRE RESURRECTED • BUGMORTEM APPROVED" coroner seal.
🎃 Summary & Feedback
BugMortem transforms catastrophic post-incident reviews from dreaded administrative chores into an engaging, educational experience.
Check out the live demo at https://bugmortem.vercel.app and let me know your thoughts in the comments below!
Top comments (0)