Base URL
https://mixtpatrik.github.io/killedbyai/
All data is served as static JSON files via GitHub Pages. CORS is enabled by default. Responses are cached by GitHub's CDN.
Endpoints
Product Graveyard
GET
graveyard.json
All discontinued AI products, models, startups, and hardware.
| Field | Type | Description |
|---|---|---|
name | string | Product name |
dateOpen | string | Launch date (YYYY-MM-DD) |
dateClose | string | Shutdown date (YYYY-MM-DD) |
description | string | What it was and why it died |
type | string | app | model | service | startup | hardware |
causeOfDeath | string | How it died |
killedBy | string | Who killed it |
deathType | string | model-upgrade | product-killed | startup-failed | acqui-hired | feature-removed | hardware-failed |
link | string | Source URL |
collateral | string? | What users lost (optional) |
fundingM | number? | VC funding in millions USD (optional) |
AI Layoffs
GET
layoffs.json
Companies that cut jobs explicitly because of AI.
| Field | Type | Description |
|---|---|---|
company | string | Company name |
jobs | number | Number of jobs cut |
date | string | Announcement date (YYYY-MM-DD) |
description | string | Context and details |
roles | string | Types of roles affected |
source | string | Source URL |
Coming Soon
GET
coming-soon.json
AI products with confirmed shutdown dates that haven't died yet.
| Field | Type | Description |
|---|---|---|
name | string | Product name |
dateAnnounced | string | When shutdown was announced |
dateShutdown | string | When it actually dies |
description | string | What's happening |
replacement | string | What replaces it |
killedBy | string | Who's killing it |
link | string | Source URL |
RSS Feed
GET
feed.xml
RSS 2.0 feed with the 30 most recently killed products.
Usage Example
// Fetch all dead AI products
const res = await fetch('https://mixtpatrik.github.io/killedbyai/graveyard.json');
const graveyard = await res.json();
// Filter to only real kills (not model upgrades)
const realKills = graveyard.filter(p => p.deathType !== 'model-upgrade');
// Total funding burned
const burned = graveyard
.filter(p => p.fundingM)
.reduce((sum, p) => sum + p.fundingM, 0);
console.log(`$${(burned / 1000).toFixed(1)}B in funding burned`);
Contributing
Add new entries by editing the JSON files and submitting a pull request on GitHub. The site rebuilds automatically via GitHub Actions on every push to main.