Skip to content

Case study

Heading AI™

We developed version 1 of a complex training and compliance platform for flight training organisations, designed to test product/market fit before further development.

Project
Heading AI™
Sector
Aviation training compliance, UK CAA and EASA
Services
Custom SoftwareAI IntegrationWebsite Development
Stack
Next.jsTypeScriptSupabaseTailwind CSSClaudeVercelMulti-tenantRow-level security
Year
2026
See the landing page
The Heading AI document review screen: a specimen medical certificate on the left, and the fields the AI extracted from it on the right
A medical certificate read by AI, with every field shown beside the document it came from, waiting for a person to confirm it.

The brief

Flight schools that train commercial pilots are approved and audited by the UK CAA, by EASA, or by both. Each one has to show, at any moment, that every instructor's licence, rating and medical is in date, that every aircraft is airworthy and insured, and that every simulator is approved for the training it is being used for.

Most schools keep this in folders of scanned certificates and a spreadsheet of expiry dates, and they check a sample before each audit. The idea behind Heading AI was to check all of it, all the time: upload the documents, let AI read them, and have the platform keep track of what expires and when.

That is a large product to build on a hunch. The brief was a first phase that would work with real documents and real regulators' rules, good enough to put in front of training organisations for feedback and in front of investors or a development partner, without building the whole thing first.

The Heading AI Command Centre, with personnel counts, a compliance status chart and a priority queue
The Command Centre: who and what can operate today, and what needs attention first.

The build

One platform, many organisations. Each training organisation sees only its own people, aircraft and documents. That separation is enforced by the database itself rather than only by the app, with a security rule on every table. We tested it by trying to cross from one organisation into another twenty different ways. All twenty were blocked.

Both regulators, at every level. A school can be approved by the UK CAA, by EASA or by both, and so can each course, licence and simulator. One simulator can hold four separate approvals at once. The data model was built around that from the start, rather than having it added later.

A simulator's approvals in Heading AI, two from the UK CAA and two under EASA, with the next evaluation date for each
One simulator, four approvals, two regulators, each with its own evaluation date.

AI that shows its working. When a document is uploaded, a fast AI model first works out what it is: a medical certificate, a pilot licence, an instructor rating, an airworthiness certificate. A more capable model then reads the details, and gives a confidence score for each field it extracts. If the overall confidence is low, the document is read again by the most capable model, and the better result is kept. Nothing is written into anyone's record until a person has checked the extraction against the original and confirmed it.

Not tied to one AI supplier. Which model handles each task is set in one place, so a model can be upgraded or swapped with a one-line change. The connection to the AI provider is kept separate from the rest of the pipeline as well, so another provider, such as OpenAI, could take on some tasks while Claude handles others.

Measured, not assumed. A set of test documents with known correct answers runs through exactly the same steps as the live platform, and each field is scored. Any change to a prompt, a model or a provider can then be checked against those documents before it goes anywhere near a customer.

The extracted fields, with the examiner's name flagged amber and the examiner's number flagged red where a stamp overlaps it
Each field the AI read comes with its own confidence score. Low scores are flagged for the person reviewing it, rather than hidden behind an average.

Every expiry in one place. Once a document is confirmed, the platform works out the status of every person, aircraft and simulator: green when everything is comfortably in date, amber at 60 days, red at 30, and red for anything missing. It raises an alert at 90, 60, 30 and 0 days, and never raises the same alert twice.

The Heading AI Expiry Timeline, listing medicals, ratings, airworthiness certificates and simulator evaluations by date
The Expiry Timeline: people, aircraft and simulators in one list, soonest first.

29

tables in the data model, with 110 links between them

The data model behind it. People, aircraft, simulators, courses and documents, each tied to its organisation and to the regulator that issued it.

The result

The first phase does what it set out to do. A training organisation can upload its documents, have them read and checked, and see every expiry across its people, aircraft and simulators on one screen. It is complete enough to put in front of the people it is for and ask whether they would pay for it, which was the point.

It was also built to grow. The next features were designed before the first ones were finished: answering questions about the regulations with citations to the source, and spotting patterns in how instructors grade their trainees. The data model already has room for both.

The Heading AI Document Vault on the Staff tab, listing certificates with their expiry dates and review status
The Document Vault, with what is ready for review and what is already confirmed.
“The most useful thing a first version can do is give you an honest answer about whether to build the second.”

Have an idea worth testing?

A first version can tell you whether to build the rest. If you have a product you would like to test this way, tell us what you are planning.

See the landing page

See what we’ve built.

Recent projects, from a designer's portfolio to an AI platform.