Will a markdown file replace your company? Type a sentence, find out.
Live: https://ai-death.vercel.app
A satirical web app and CLI that rates a company description on its likelihood of being replaced by a Claude Skill — a .md file. Five tiers from IMMORTAL to DEAD, deterministic in-browser scorer, optional context controls, an animated court HUD that does way too much.
npx ai-deathBoots a local server at http://127.0.0.1:5173. No install, no API key, no account.
Click any row to see the live verdict on ai-death.vercel.app:
The court delivers a verdict, a death probability, three sharpened roast notes, and a mock .md skill that would replace the product.
![]() |
![]() |
| DEAD — wrappers, summarizers, drafters, "AI-powered X" | FORTRESS — marketplaces, networks, deep integrations |
IMMORTAL — compliance gates, regulated buyers, atoms, contracts
A lot of SaaS today is a UI wrapper on logic that an LLM can replicate. A subset isn't, because it has real moats: regulators, atoms, networks, contracts. This is a court that helps you tell the difference, in one sentence.
The premise is mean enough to be useful. If you can't say what your product does in a way that survives the court, the product probably doesn't survive the next year of model releases either.
| Tier | Score | Vibe |
|---|---|---|
IMMORTAL |
0 – 19 | Compliance, hardware, real-world ops. Stay of execution granted. |
FORTRESS |
20 – 39 | Network effects, marketplaces, deep integrations. |
SWEATING |
40 – 59 | Solid product, but the LLM is closing in. |
THIN ICE |
60 – 79 | Mostly a UI on top of GPT/Claude with a logo. |
DEAD |
80 – 100 | Could be a one-page markdown skill. Funeral arrangements. |
Below the description, three pill rows can sharpen the verdict by ±42 points and pull tier-aware roast notes:
- Stage — Idea / Pre-launch / Has users / Paying customers / Enterprise contracts
- Buyer — Consumer / SMB / Mid-market / Enterprise / Regulated
- Surface — Pure software / Hardware / Physical ops / Compliance gates
Same description, very different verdict. An idea-stage consumer wrapper reads THIN ICE / DEAD. The same idea pivoted to enterprise-contract regulated compliance gates lands FORTRESS / IMMORTAL.
Pre-bake a verdict by encoding the description (and optional context) in the URL hash:
https://ai-death.vercel.app/#desc=ENCODED_TEXT&stage=paying&buyer=enterprise&surface=compliance
The form auto-submits on load, so you can drop these into Slack/X/HN comments. A few primed examples:
DEAD— chatbot wrapperTHIN ICE— note-taking appSWEATING— vertical SaaS for dental clinicsFORTRESS— freelance plumber marketplaceIMMORTAL— HIPAA EHR for hospitals
100% client-side, deterministic, no API calls.
- Start at 50.
- Decrement for moat keywords:
hipaa,hardware,marketplace,payments,compliance,network,enterprise,regulated, … (~40 patterns). - Increment for wrapper keywords:
summariz,chatbot,wrapper,cold email,template,resume rewrite, … (~40 patterns). - Apply the optional Stage / Buyer / Surface shifts.
- Length signals: very short input is vague (penalty), very long is specific (small mercy).
- Add deterministic noise from a hash of the input + context, so identical inputs are stable but the spread feels alive.
- Clamp 0 – 100, map to tier.
Lexicons live at the top of app.js: MOATS, REPLACEABLE, TIERS, TAGGED_ROASTS, CONTEXT_SHIFTS, CONTEXT_ROASTS, plus the per-tag verb map inside buildSkill. Tweaking is one regex away.
.
├── index.html ← markup + verdict-card template
├── styles.css ← design tokens, tier colors, court-HUD animations
├── app.js ← scorer, roast bank, render
├── bin/ai-death.js ← zero-dep Node http server (Node 18+)
├── package.json ← npm bin, files allowlist
├── DESIGN.md ← design system source of truth
└── docs/screenshots/ ← README assets + 1200×630 OG card
It's static HTML/CSS/JS. Any static server works.
git clone https://github.com/vnmoorthy/ai-death.git
cd ai-death
python3 -m http.server 5173Then open http://localhost:5173.
Drop the folder on any static host:
- Netlify / Vercel / Cloudflare Pages — drag the folder into the dashboard.
- GitHub Pages — Settings → Pages → deploy from
main//. - Anywhere with
python3 -m http.server— same as local.
Zero environment variables. Zero keys.
- Not a real evaluation tool. Don't make decisions based on the verdict.
- Not a lead-gen page. No email capture, no waitlist, no analytics.
- Not advice. Probably not even useful. Definitely funny if your description is bad.
MIT © vnmoorthy


