Skip to content

Tracks 572,000+ people who have appeared on film — actors, documentary subjects, anyone who's been on screen. AI-generated biographies tell their stories as people, not performers. Detailed death records researched across 80+ sources. Actuarial mortality analysis for every production and person

License

Notifications You must be signed in to change notification settings

chenders/deadonfilm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,434 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dead on Film

Biographies, death records, and mortality analysis for the people of film and television.

Live Site License: MIT TypeScript

deadonfilm.com tracks 572,000+ people who have appeared on film — actors, documentary subjects, anyone who's been on screen — across 152,000+ movies and TV shows. It tells their stories as people, not performers. The private, human stories that career-focused biographies never cover: childhoods, family tragedies, private struggles, unlikely origins. And for the 25,000+ who have died, it documents how — with detailed death records researched across 80+ sources and actuarial mortality analysis for every production.

  • Audrey Hepburn — Both parents were active fascists. She survived the Nazi occupation of Holland on tulip-bulb flour, performed silent ballet recitals to fund the Dutch resistance, and hid a British paratrooper in her family's home. Her famous slender figure was childhood starvation, not Hollywood dieting. When terminal cancer was diagnosed in 1992, Hubert de Givenchy arranged a private jet filled with flowers to fly her home to Switzerland. Gregory Peck recorded a tearful tribute reciting Tagore's "Unending Love." → Read her story

  • Charlie Chaplin — Sent to a Victorian workhouse twice before age nine. His mother was committed to an asylum. At fourteen he lived alone, sleeping rough and searching for food. He died peacefully on Christmas Day 1977 — then the body was stolen from its grave by ransom seekers, recovered eleven weeks later in a field, and re-interred in a reinforced concrete vault. → Read his story

  • David Bowie — A schoolyard fight at fifteen gave him the mismatched pupils that became his trademark. He kept a photograph of Little Richard he'd cut out at age ten on his bedroom wall for the rest of his life. A Lama once told him he shouldn't become a Buddhist monk — he should follow music instead. He kept his eighteen-month cancer battle entirely secret, released Blackstar two days before his death, and left $2 million to the personal assistant who had helped him through addiction forty years earlier. → Read his story

  • James Earl Jones — Childhood trauma from the Great Migration left him with a stutter so severe he was nearly mute until high school. A teacher who discovered he wrote poetry dared him to read it aloud — and that voice became one of the most recognizable in cinema. → Read his story


What You'll Find

The Lives

  • AI-generated biographies focused on the person, not the career — childhood, family, struggles, relationships, private moments
  • Multi-source enrichment pipeline researching 19+ sources (Wikipedia, Britannica, news archives, obituaries) to build rich personal narratives
  • "Lesser-Known Facts" — surprising personal details most biographies never mention, extracted from source material by Claude
  • Life circumstance tags — color-coded badges like Orphaned, Refugee, Military Service, Dropout, Rags to Riches, Polyglot, Addiction Recovery
  • Entity-linked narratives connecting people to each other across the database

The Deaths

  • Detailed death circumstances with source citations and confidence levels
  • Cause of death research across 80+ sources — Wikidata, Wikipedia, Library of Congress, Find a Grave, news archives, 11 AI models
  • Actuarial mortality analysis using SSA life tables for every production
  • Mortality Surprise Score — a statistical measure of abnormally high cast death rates ("cursed" means math, not superstition)

Explore

Feature What It Shows
Actor Profiles Life stories, death narratives, filmography with mortality data
Cursed Movies Productions with abnormally high cast mortality
Death Watch Living actors ranked by actuarial mortality probability
Notable Deaths Detailed death circumstances with source citations
Strange Deaths Unusual or mysterious death circumstances
Forever Young Actors who died young, ranked by years of life lost
Deaths by Cause Full taxonomy of causes of death
Deaths by Decade Mortality trends across decades
Unnatural Deaths Browse by accident, overdose, homicide, suicide
On This Day Actors who died on today's date

How It Works

Biographies

Two systems work together. The biography generator produces concise 6-line summaries from TMDB and Wikipedia via Claude Sonnet — strict editorial policy, no superlatives, no hagiography. The biography enrichment pipeline goes deeper: it researches 19+ sources (Wikipedia, Britannica, Biography.com, news archives, obituary sites, historical archives) to build rich personal narratives with childhood details, family background, personal struggles, and lesser-known facts. Claude synthesizes all source material into structured biography data including life circumstance tags (Orphaned, Military Service, Immigrant, Dropout, etc.) and surprising personal facts.

See Biography System for generation details and editorial philosophy.

Death Research

When a death lacks cause-of-death information, the system dispatches a multi-stage research pipeline: free structured sources first (Wikidata, Wikipedia, IMDb), then search engines with link following, then news archives and historical databases (Library of Congress, Trove, Europeana), then 11 AI models ordered cheapest-first — from Gemini Flash at $0.0001/query to GPT-4o at $0.01. Claude consolidates raw data from all sources into structured, confidence-scored output. This pipeline has achieved 42% cause-of-death coverage across 25,000+ deceased actors.

See Death Research Pipeline for the full source inventory and pipeline details.

The Numbers

Metric Value
People tracked 572,000+
Known deceased 25,000+
Movies & TV shows 152,000+
Causes of death known ~42%
Leading cause Heart attack
Update frequency Daily

Architecture

┌─────────────────────────────────────────────────────────┐
│                    Cloudflare Tunnel                     │
│               (SSL, routing, DDoS protection)           │
└──────────────────────────┬──────────────────────────────┘
                           │
┌──────────────────────────▼──────────────────────────────┐
│                   Docker Compose                        │
│                                                         │
│  ┌─────────────┐  ┌──────────────┐  ┌───────────────┐  │
│  │   Frontend   │  │   Backend    │  │  PostgreSQL   │  │
│  │  React 18    │──│  Express.js  │──│     16        │  │
│  │  Vite        │  │  TypeScript  │  │               │  │
│  │  Tailwind    │  │              │  └───────────────┘  │
│  │  TanStack    │  │              │  ┌───────────────┐  │
│  └─────────────┘  │              │──│   Redis 7     │  │
│                    └──────┬───────┘  └───────────────┘  │
│                           │                             │
└───────────────────────────┼─────────────────────────────┘
                            │
          ┌─────────────────┼─────────────────┐
          │                 │                 │
   ┌──────▼──────┐  ┌──────▼──────┐  ┌──────▼──────┐
   │   TMDB API  │  │  Claude /   │  │  Wikidata / │
   │             │  │  Gemini /   │  │  Wikipedia  │
   │             │  │  Perplexity │  │             │
   └─────────────┘  └─────────────┘  └─────────────┘

React 18 + Vite frontend, Express/TypeScript backend, PostgreSQL 16, Redis 7 for caching, BullMQ for background jobs. AI via Claude, Gemini, Perplexity, and 8 other models. Self-hosted on bare metal with Docker Compose and Cloudflare Tunnel. Monitored by New Relic APM.

See Architecture for deployment details, environment variables, and infrastructure.

Getting Started

Prerequisites

Development

# Install dependencies
npm install && cd server && npm install && cd ..

# Set up environment variables
cp server/.env.example server/.env
# Edit server/.env with your API keys (TMDB_API_TOKEN is required)

# Start everything (PostgreSQL, Redis, frontend + backend with HMR)
npm run dev

# Seed actuarial data (required for mortality statistics)
cd server && npm run seed:actuarial && npm run seed:cohort

Access at http://localhost:5173

Production

npm run docker:up    # Build and deploy
npm run docker:down  # Stop

See Architecture for environment variables and deployment configuration. See API Reference for endpoint documentation.

Interesting Implementation Details

If you're browsing this codebase to learn from it, here are the parts worth studying:

  • Biography generation — Claude-powered pipeline that rewrites TMDB/Wikipedia content into personal narratives with strict editorial policy and substantive content gates.
  • Biography enrichment — Multi-source research pipeline (19+ sources) that builds rich personal narratives, extracts lesser-known facts, and assigns life circumstance tags. Three-stage content pipeline: mechanical pre-clean, Haiku AI extraction, Claude synthesis.
  • Actuarial engine — SSA life table lookups and Mortality Surprise Score calculation. The most mathematically interesting part of the codebase.
  • Death research orchestration — Multi-provider pipeline dispatching across 80+ sources with result reconciliation, confidence scoring, and cheapest-first cost optimization.
  • TMDB sync pipeline — Daily automated detection of newly reported deaths with enrichment triggers.
  • SEO architecture — Dynamic sitemap generation and slug-based routing for 572K+ entities.
  • Self-hosted deployment — Production Docker Compose with Cloudflare Tunnel, PostgreSQL, and Redis on a single bare-metal host.

Project History

Dead on Film was created on March 2, 2015 as a Flask app with a single question: which actors in this movie are dead? It used IMDbPY, a PostgreSQL table of death dates, and not much else.

Over eleven years, that question expanded. Movies became movies and TV shows. A death date became a cause of death, a manner of death, a source citation. A list of names became an actuarial comparison. The Flask backend became Node.js. The jQuery frontend became React. The static database became an AI-powered enrichment pipeline. In 2025, the biography system was added — shifting the project from pure mortality tracking toward telling people's stories as people, not just recording how they died. In 2026, the biography enrichment pipeline deepened that work: researching 19+ sources to build multi-paragraph personal narratives with lesser-known facts and life circumstance tags.

The curiosity never changed. The tools got better.

Contributing

Dead on Film is a solo project. Contributions are welcome, but response times may vary.

Good first issues:

  • Tests (there are not enough)
  • Documentation improvements
  • UI/UX suggestions via issues
  • Data accuracy reports (if you spot a wrong death date or cause)

License

MIT


About

Tracks 572,000+ people who have appeared on film — actors, documentary subjects, anyone who's been on screen. AI-generated biographies tell their stories as people, not performers. Detailed death records researched across 80+ sources. Actuarial mortality analysis for every production and person

Topics

Resources

License

Stars

Watchers

Forks

Contributors 5