73
A solo-built aviation-safety data platform. The hard part is not scraping ~120 national investigation authorities (NTSB, AAIB, BEA, ATSB, JTSB, MAK and others) but merging them: the same crash appears in a national report, in an aggregator and in Wikidata with different dates, operator strings and registration formats. Every record gets a deterministic identity key computed in a fixed ladder (registration + date, then location + date, then a per-source id), so duplicates collapse into one occurrence that keeps every source link.
What you can look up: any aircraft type, tail number, airline, airport or route and its recorded history since 1902. 280,000+ deduplicated occurrences from 120+ official sources, plus FAA wildlife-strike, laser and drone-sighting data, airworthiness directives and safety recommendations. A grounded Q&A cites the underlying reports. Free, no account. Public REST API and DOI-versioned datasets on Zenodo.
Stack: React 19 / Vite 8; Express 5 + SQLite (WAL) serving tens of thousands of server-rendered pages; Go sidecars; Python and Node scrapers (headed Playwright for bot-protected sources) on a residential mini-PC; PM2 cluster on a Hetzner box behind nginx and Cloudflare; Prometheus + Grafana.
Built with