Skip to main content

Case study · Aviation

Offline-first safety and compliance for aircraft operators.

Safety occurrences have to be captured and reported under EU 376/2014, manuals and bulletins have to demonstrably reach every crew member, and emergency information has to work with no signal. We built the app crews actually carry, and the portal the operator runs it from.

Client
Aircraft operator group(anon.)
Industry
Aviation
Duration
Phased, app and portal
Team
Senior pod, FORGE + CITADEL

The challenge

What stood in the way.

Aircraft operators carry a heavy compliance burden. Safety occurrences must be captured and reported under EU 376/2014. Manuals, bulletins and training material have to reach every crew member and be demonstrably read. Emergency information has to be available instantly, including when a device has no signal at all.

  • Mandatory occurrence reporting with a regulatory clock on it
  • Proof that each crew member has read each document revision
  • Connectivity that cannot be assumed on the ramp or in the air
  • Content living in Google Drive, SharePoint, ClickHelp and Jotform

Our approach

How we framed it.

Offline-first was the architectural decision everything else followed from. Reports are written to a local outbox and queued until connectivity returns; documents sync by delta so only changed files move. The operator portal was kept separate from the crew app so triage and push campaigns never depend on a crew device.

The solution

What we built.

  • Flutter app for iOS and Android: occurrence reporting, document library with read-tracking, bulletins, emergency contacts
  • Outbox that queues reports offline; delta sync for changed documents only
  • Angular 18 portal with NgRx for operator management, triage and push campaigns
  • .NET 10 / ASP.NET Core API on PostgreSQL with Hangfire jobs and SignalR
  • Integrations with Google Drive, Microsoft Graph for SharePoint, ClickHelp and Jotform
  • Push via Firebase Cloud Messaging and APNs; Docker and Kubernetes delivery

Results

What changed.

Crews file mandatory occurrence reports from the device in hand, connected or not, and the operator can show which crew member read which revision. Emergency information is on every device without a network.

Stack

Tools used in production.

  • .NET 10
  • ASP.NET Core
  • EF Core
  • PostgreSQL
  • Hangfire
  • SignalR
  • Angular 18
  • NgRx
  • Tailwind
  • Flutter
  • Firebase Cloud Messaging
  • APNs
  • Docker
  • Kubernetes

Talk to us

Have a similar problem? Bring it to a senior engineer.

A senior engineer plus the relevant department lead joins the first call. No discovery gauntlet, no junior reps.