Product Requirements Document v2.0 Discovery

[PROJECT] NOTAM Intelligence Platform

A pilot-first NOTAM briefing platform that cuts through the noise. AI-powered classification on a SOLID architecture — built for professional aviation.

Author
Vinayak Sharma
Status
Discovery
Version
2.0
Date
March 2026
Platform
iOS · iPad · Web · API
Architecture
SOLID · Deterministic-First
Overview Problem SOLID Architecture Pipeline Tag Taxonomy Matrix & Dark NOTAMs Correctness Features Design Platforms Metrics Risks Roadmap Open Questions
>98%
Tagging accuracy
~20s
Full briefing time
51
Pilot-defined tags
193
ICAO states covered

Executive Overview

[PROJECT] is a NOTAM intelligence platform built for professional aviation — airline pilots, dispatchers, AOC operations teams, and OCC staff. It solves the single most complained-about problem in aviation briefing: critical information buried in 100+ pages of raw NOTAM text.

The platform ingests all NOTAMs relevant to a flight through a deterministic processing pipeline — structured parsing, rule-based time validity checking, and Q-code lookup — with no AI involved in any safety-critical decision. AI is used only to generate human-readable summaries and 7-word headlines for display. Impact ratings, time validity verdicts, and the Primary vs Dark NOTAM split are all produced by auditable, testable code.

The architecture follows SOLID design principles — ensuring every component has a single responsibility, extension points are built in without modification, data sources and models are substitutable, different consumers get different views, and high-level pilot needs are decoupled from low-level NOTAM format details.

The results are presented in a dashboard of airport health cards — a visual, scannable, colour-coded interface. Raw ICAO text remains always accessible. A map layer plots NOTAMs geographically. Push alerts fire when new NOTAMs arrive for saved routes.

Core Problem

Volume & signal/noise

Critical NOTAMs invisible in walls of text. Existing tools index — they don't triage.

Core Insight

AI has no role in safety decisions

Time validity, impact rating, and Primary vs Dark split are determined by a rule engine. AI translates for display only.

Core Architecture

SOLID middleware

Modular, extensible, substitutable components. Fix it in the middle — no changes to 193 countries' NOTAM systems.

Problem Statement

The Big Problem

A long-haul international flight can generate 100–200 pages of NOTAM text in a standard OFP briefing package. The format — unchanged since the teletype era — presents all NOTAMs in flat, uppercase, heavily abbreviated text with no visual hierarchy, no prioritisation, and no differentiation between a runway closure and a telephone number change.

Annual NOTAM issuance has grown from approximately 500,000 in 2007 to over 2 million by 2022. The Q-code system designed to categorize NOTAMs has 13,783 possible combinations, with 20–47% of NOTAMs using the catch-all code XX/XXXX. Approximately 20% of the ~35,000 active global NOTAMs at any time violate existing rules by persisting beyond the 3-month maximum.

Why existing tools fail

ToolWhat it doesWhat it doesn't do
Jeppesen FliteDeckCurated, validated global NOTAM database. Reliable data.No AI triage. Flat text dump. No visual hierarchy. Enterprise pricing.
Lido (Lufthansa Systems)Industry-standard OFP with integrated NOTAM section.NOTAMs appended as plain text. No sorting. No filtering. Unchanged for decades.
ForeFlightExcellent GA/corporate app. Good map layer. Clean iOS UI.Raw text NOTAMs. Not targeted at airline ops. No AI interpretation.
FAA NOTAM SearchAuthoritative US government source. Free.Web only. Zero visual design. No filtering intelligence. US-centric.
The Gap

No existing tool combines: (1) global NOTAM coverage, (2) AI-powered triage and plain-English decoding, (3) a beautiful dashboard-style interface, and (4) real-time push alerts — in a single product built for professional aviation. That gap is the product.

SOLID Architecture Principles

The system architecture is designed around SOLID principles to ensure modularity, extensibility, and adoptability. Each principle maps directly to a design decision.

PrincipleDefinitionApplication
S Single Responsibility — Each component has one reason to change. Parser only parses. Rule engine only classifies. AI only summarizes. Renderer only formats output. Each independently testable and replaceable.
O Open/Closed — Open for extension, closed for modification. New tags added without code changes. Matrix configurable per airline. LLM swappable (Claude, GPT-4o, open-source). Output format pluggable (cards, PDF, EFB-native).
L Liskov Substitution — Subtypes substitutable for base types. Any NOTAM source (EAD, FAA, DINS, Notamify) produces compatible input. Any LLM conforming to the tag+summary contract can substitute. Notam Store and Notam App share the same interface.
I Interface Segregation — No client depends on methods it doesn't use. Primary briefing shows only critical NOTAMs. Dark appendix holds the rest. Different airport types (Dep/Dest vs Alternate vs FIR) get different filtered views. Pilots never consume interfaces they don't need.
D Dependency Inversion — Depend on abstractions, not concretions. Pilot needs (51 tags) define the abstraction. AI + rule engine translates from any low-level NOTAM format. 193 countries don't need to change anything. The middleware inverts the dependency from source-format to pilot-need.
Key Insight

Dependency Inversion is the crown jewel. Previous industry attempts to fix NOTAMs at the source level failed because they required cooperation from 193 countries. The middleware approach inverts this dependency entirely — the AI abstraction layer absorbs source variation so pilots depend on the tag taxonomy, not on how any individual country writes their NOTAMs.

Processing Pipeline

The system uses a deterministic-first, four-step pipeline. Safety-critical decisions (time validity, impact level, Primary vs Dark classification) are made by auditable rule engine code. AI is called only at the final step for display-layer summarization.

01

Fetch & Parse (Deterministic)

Pull NOTAMs for all relevant ICAO locations (departure, destination, alternates, FIRs). Parse every field into strongly-typed structs. B/C dates are Date objects, never strings. Hard error on parse failure — never silent partial data.

02

Rule Engine Classification (Deterministic)

Time validity using role-specific reference times. Q-code lookup table assigns impact level. Cross-NOTAM synthesis for combined verdicts. Keyword index on E) field for upgrade-only overrides. Zero AI involvement.

03

Matrix Sort (Configurable)

Rules Matrix matches airport types (4 tiers) with NOTAM tags (51 tags across 9 categories). Each intersection determines Primary vs Dark. Fully customizable per airline. The "Dark NOTAMs" concept — briefing split into Primary section and Dark appendix.

04

AI Summary (Display Only)

LLM generates a 7-word headline and plain-English paragraph for each NOTAM. This is translation, not classification. A wrong summary is visible and recoverable — the pilot reads the raw text. A wrong classification is not recoverable. Different risk category entirely.

51-Tag Taxonomy

The tag taxonomy is derived from extensive pilot and dispatcher input on what operational categories matter most during pre-flight briefing. 51 tags across 9 categories, each designed to be self-evident and group NOTAMs of roughly equal criticality. In this product, tags are derived deterministically from Q-code patterns — not assigned by an LLM.

CategoryTagsCovers
AirportClosed/Hours, Restriction, Fire, Fuel, Apron, Facilities, Procedure, VIPAirport-level closures, operational restrictions, fire services, fuel, apron, procedures
ApproachNot available, Degraded, Change, Arrival, DepartureILS/VOR/DME/RNP status, STAR/SID changes, minima, circling
RunwayClosed, Length, Strength, Lights, Condition, NoteClosures, TODA/TORA/ASDA, PCN, lighting, surface conditions
TaxiwayClosed, Restricted, Lights, Condition, NoteClosures, weight restrictions, lighting, surface, markings
ATCHours, Procedure, Flow/Delay, Radio, Radar, MetOperating hours, procedure changes, flow control, frequencies, radar/ADS
AirspaceRoute closed, Route restricted, Route change, SUA, Special route, Structure, NavaidRoute availability, restricted areas, military airspace, navigation aids
HazardsActivity, Explosives, Firing, New obstacle, Obstacle light, Wildlife, GPSNearby activity, ordnance, obstacles, bird activity, GNSS interference
LibraryTrigger, Checklist, AIP change, Chart change, FPL, State rule, SecurityAIP amendments, chart changes, flight plan requirements, regulations
NavigationVOR, NDB, DME, ILS componentIndividual navaid serviceability outside Approach tags

Rules Matrix & Dark NOTAMs

Four-tier airport classification

TierAirportsDefault filter level
Tier 1 — Dep/DestDeparture and destinationMost permissive. Nearly all categories in Primary. Only Hazards/Library may go Dark.
Tier 2 — Dep/Dest AltDeparture and destination alternatesModerate. Taxiway closures, obstacle lights, Library items go Dark.
Tier 3 — Enroute AltEnroute alternate airportsAggressive. Only Approach, Runway, and critical Airport tags in Primary.
Tier 4 — FIRFIR/enroute NOTAMsMost aggressive. Only Route restrictions, GPS, ATC Comms in Primary.

Dark NOTAMs philosophy

Dark Cockpit Principle

Borrowed from aircraft design where warning lights only illuminate when attention is needed. NOTAMs filtered to the Dark appendix are not hidden or deleted. They remain available with their tag and a one-line summary. Crews focus on Primary and reference the appendix only if needed. This preserves regulatory compliance while solving the information overload problem.

Correctness Guarantee

Why this matters

During real-world OFP analysis, an LLM incorrectly flagged an alternate airport as critical by comparing a runway closure end time against the destination ETA rather than the alternate-specific ETA. The error was confident, plausible, and wrong. This section defines the architecture that prevents that class of error entirely by removing AI from all safety decisions.

Where AI is and is not permitted

DecisionMade byRationale
Is this NOTAM active at the relevant time?Rule engineWrong answer is a safety failure. Date comparison is deterministic.
What is this NOTAM's impact level?Q-code table + keywordsWrong answer is a safety failure. Table is finite and auditable.
Primary or Dark?Rule engine + MatrixWrong answer loses a critical NOTAM. Deterministic rules only.
What colour is the health indicator?Aggregated rule outputLLM never sets a colour. Derives from Layer 1/2 verdicts.
What does this NOTAM mean in plain English?AI — display onlyWrong answer is visible. Pilot reads raw text. Disclaimer shown.
What is the 7-word headline?AI — display onlyWrong headline is inconvenient. Wrong impact rating is dangerous.
Testability Commitment

Every safety-critical decision is fully unit-testable with no mocks. Real OFP data becomes the regression test suite. This runs in CI on every commit. An LLM cannot make that guarantee.

V1 Feature Specifications

F1

Flight Route Input

Route string, ATC FPL, or manual airport selection. Auto-determines full ICAO location set across 4 tiers. Saved routes with one-tap refresh.

F2

AI Plain-English Summary

7-word headline + full decode for every NOTAM. Tag from 51-tag taxonomy. Batched API calls, ~20s for full briefing. Raw text always accessible.

F3

Airport Health Dashboard

Colour-coded cards per airport. Category icons. NOTAM counts by severity. Primary/Dark split. The signature UX — scan 6–8 airports in seconds.

F4

Push Alerts

Post-briefing monitoring. New/changed/cancelled NOTAMs trigger push with AI summary + impact level. Configurable per route and category.

F5

Map View

Route line with geolocated NOTAM markers. Polygon overlays for TFRs and restricted areas. Colour-coded by impact. Synced with list view.

F6

Raw ICAO Text Access

Non-negotiable. Raw text reachable in ≤2 taps from any view. Full Q/A/B/C/D/E/F/G structure. Monospace, unmodified. Copy & share via iOS sheet.

Design Principles

Scannability over completeness

A pilot on a crew bus needs to understand the picture in under 60 seconds. Every design decision is measured against this.

Trust through transparency

AI summaries clearly labelled. Raw ICAO text never more than 2 taps away. We earn trust by never hiding the source data.

Dark by default

Aviation cockpit. Night operations. iPad in low-light. Dark-mode first — not an afterthought. At home next to a PFD.

Colour means something

Red = critical. Amber = important. Green = clear. Grey = no NOTAM. Consistent everywhere. Never decorative.

Professional, not clinical

Built to the standard of the best consumer iOS apps, not enterprise software from 2005. The interface is the competitive moat.

Progressive disclosure

Dashboard card → expanded list → AI decode → raw text. Users go as deep as they need. Never forced to start at raw text.

Platform Strategy

PlatformPriorityTargetRationale
iPad (iPadOS)PrimaryV1.0Primary EFB device. Largest screen. Best dashboard showcase.
iPhone (iOS)HighV1.0Same SwiftUI binary. Essential for push alerts and quick checks.
Web AppMediumV1.5Dispatcher/OCC desktop use. Same backend API. React/Next.js.
API / B2B MiddlewareB2BV2.0Expose tagging pipeline for AOCs and flight planning providers.

Success Metrics

500
Active users (6mo post-launch)
4.5★
App Store rating
<30s
Briefing generation time
≥95%
Tagging accuracy (audit)
North Star Metric

"Did the pilot find what mattered before it mattered?" — measured as the percentage of users who report the critical NOTAM for their flight was visible at the top of the briefing without searching. Target: ≥90%.

Risks & Mitigations

RiskSeverityMitigation
Rule engine error in Q-code table or keyword listHighEvery entry reviewed by a pilot. Real OFP regression test suite. Table version-controlled and change-reviewed.
NOTAM data source latency or outageMediumMulti-source strategy. Clear staleness indicators. Degrade gracefully with cached data.
AI summary produces misleading decodeMediumAI is display-only. Does not affect impact rating, Primary/Dark, or health card colour. Labelled "AI summary." Raw text one tap away.
LLM API costs unsustainable at scaleMediumAI called only for E) field summarization. Cache by NOTAM ID hash. Fallback to Q-code-derived plain text on cost spike.
Regulatory or liability concernLowDeterministic architecture is auditable and reproducible. Clear disclaimer. Raw text always accessible. Legal review before launch.

Roadmap

Timeline is indicative — assumes solo development by one pilot-developer, part-time alongside flying duties.

Phase 1 Months 1–3

Foundation

Finalize tag taxonomy through expert review. Build deterministic parser + rule engine with full unit test suite. Q-code lookup table (~1,000 entries). AI summary layer comparison (Claude vs GPT-4o). Dashboard card component (SwiftUI). Backend skeleton.

Phase 2 Months 3–6

Validation

Circulate PRD to industry experts. Run accuracy benchmarks against diverse international NOTAMs. Pilot testing with volunteer flight crew. Iterate on Matrix defaults and tag definitions. Internal TestFlight.

Phase 3 Months 6–12

Integration & Beta

Push notifications (APNs). Map view (MapKit). Multi-source fallback. Public TestFlight beta. Accuracy audit (100 NOTAMs manual). Privacy policy + App Store listing. Monetization decision.

Phase 4 Months 12–18

Launch & Expansion

App Store submission. Web app for dispatcher/OCC. B2B pilot programme. API/middleware offering. Flight planning provider integration trials. ICAO engagement for formal recognition.

Open Questions