← Jenny Cotie Kangas
Client build · signal recon

A distressed-aircraft lead signal, from public data

Built for a company that acquires and rebuilds aircraft. Scoped, sourced, and validated before a line of code.

The problem

The client buys aircraft, rebuilds them, and returns them to service. Their best acquisition targets are distressed airframes, but there is no feed for "a plane just got damaged." They needed an early, reliable signal for it, drawn from public data, with no scraping infrastructure and no guesswork.

There is a second angle in the same event. When a disabled aircraft closes a runway, the airport is losing real money by the hour. That gives the outreach a reason to exist and a number to anchor it.

The approach

Rather than invent a data source, I reverse-engineered the signal from one that already exists. When an aircraft is disabled on a runway, the FAA issues a NOTAM, and the wording for it is mandated. That makes it a deterministic signal with a low false-positive rate, which is exactly what you want a lead engine keyed on.

The work was to figure out which official feeds actually carry that signal, which do not, and how to measure the event honestly. The duration has to come from the cancellation of the notice, not its estimated end time, because the estimate is a guess and the duration is the whole pitch.

The estimate is a guess. The cancellation is the truth. Size the lead off the truth.

The build

A monitoring shape, not a scraper. One living record per event, keyed on the notice id: airport, runway, the clock start, the clock stop, the computed duration, and a lead status. It filters for the mandated disabled-aircraft wording against the runway field, so taxiway events that do not close a runway are excluded. When a closure crosses a duration threshold, it generates a one-page incident brief, sized off the real cancellation timestamp. Pure API plus pattern matching. No machine learning, no scraping stack, free official sources.

People-data is suppressed at ingest. The record is the event, airport, runway, time, and duration, never the operator or the individuals involved.

What it shows

The path came back a clear go: the signal is reachable through official, free channels, and the expected volume is on the order of 50 to 150 qualifying multi-hour closures a year nationally, which is a workable outbound cadence.

The part I am most willing to be judged on is a source that did not survive. The first research pass leaned on a convenient endpoint that promised free, no-account access. I checked it against the live service, and it did not exist. It returned a 404. I removed it and rebuilt the path on the sources that are real, which turned out to be simpler. A recon that hands a client a source that isn't there is worse than no recon. Validating every source against the live service before it became load-bearing is the point, not a footnote.