← All projects

Viasat

Aircraft maintenance reporting that helps people act

Joining supported aircraft, open deferrals, and flight schedules to identify maintenance opportunities.

SQLSpotfireExcel
The problem
Morning aircraft maintenance reviews and scheduled technician dispatches changed as flight plans shifted through the day. An open deferral alone did not reveal a useful dispatch opportunity.
My approach
I matched the supported fleet to maintenance records, added flight routing, and displayed ground-time windows in linked Spotfire views.
The result
A working planning dashboard with three-minute updates and two-hour email snapshots.

StatusWorking reporting workflow

My roleI designed the reporting logic, cleaned identifiers, built the visualizations, and documented the reporting workflow.

See what I delivered →
Complete Spotfire live dashboard with station distribution, open WiFi deferrals, station visits and expanded routing; logpage IDs and maintenance comments blurred.
Live maintenance dashboard · logpage IDs and comments blurredOpen full image ↗

THE PROJECT IN CONTEXT

At Viasat, the morning work-order review involved looking through roughly 30 to 80 aircraft with open WiFi maintenance deferrals, figuring out which belonged to the supported fleet, and creating the corresponding work orders. That manual review was missing aircraft.

I built a Spotfire reporting workflow to bring fleet eligibility, open discrepancies, and routing information together. The goal was to make it easier for coordination staff to identify an aircraft that needed attention and a realistic opportunity for a technician to work it.

The Work

Find the right data and reduce the noise

I worked directly with the airline’s data engineer to arrange database access for a dashboard serving the airline and Viasat. The airline already had a maintenance-deferral dashboard, and the engineer copied its SQL-backed information link into our reporting repository. I reduced the SQL selection to the fields needed for WiFi maintenance and filtered the relevant maintenance groups before matching the results to our supported fleet.

The second source was our supported-fleet list from Salesforce. That list had to define eligibility: an aircraft appearing in the airline’s deferral report did not automatically mean Viasat was responsible for the work. I used the fleet list as the master and matched maintenance records to it.

A missing zero could become a missed aircraft

The identifier comparison was a concrete data-quality problem. Some Salesforce exports omitted the leading zero from a four-digit aircraft nose identifier, and Spotfire read different source columns as strings or integers. I standardized the identifiers and their types before building the match.

The first join retained the supported aircraft even where no open deferral matched. That was useful during preparation, but those blank maintenance rows did not belong in the action list. I filtered out rows without a logpage so the final view focused on aircraft with an actual open record.

Open work was only half the answer

The maintenance report’s flight fields described the station scheduled against a particular discrepancy. They were not a dependable picture of where the aircraft would be next. After searching for another source, I found a flight-information link and worked with the data engineer to add it.

I joined the routing information to the supported aircraft with open work and built linked views. Selecting an aircraft filtered its flights, and another view showed arrivals at our maintenance stations. Ground-time colors distinguished windows of at least ten, five, and two hours from shorter visits.

Those colors supported scanning; they did not automatically decide whether a job could be completed. The user still needed to consider the discrepancy and available technician. I also retained a broader routing view so the supported-station filter did not remove the context of the aircraft’s other flights.

Put the information where the team would read it

The live dashboard updated every three minutes, but reaching Spotfire required navigating the airline network and login process. I built a reporting view limited to the next two days and scheduled a server-side task to send updated dashboard images every two hours.

The email gave coordination staff a recurring reference for checking whether work orders and dispatches were addressed. I documented the SQL selections, identifiers, joins, filters, color rules, and schedule so the workflow could be followed beyond the finished screen.

The supported-fleet list still required a manual Salesforce export. The workflow automated the maintenance views and their delivery while keeping that source update as a separate step.

The information behind a maintenance opportunity
Input or viewDecision it supportsImportant dependency
Salesforce supported-fleet listIs this aircraft eligible for our maintenance support?Manual export; aircraft identifiers and types must match
SQL-backed deferralsDoes the supported aircraft have open WiFi work?A matching logpage is required for the action list
Linked flight routing and station viewsWhere might a technician reach the aircraft?Ground-time colors guide review; job scope and staffing still matter
Two-day email snapshotWhich upcoming opportunities need follow-up?Images are sent every two hours; the live dashboard refreshes every three minutes

At a glance

From aircraft records to a planning view

  1. Define the supported fleet

    A manual Salesforce export identifies aircraft eligible for Viasat maintenance.

  2. Match open WiFi work

    Normalized aircraft identifiers connect the fleet to SQL-backed deferrals with a matching logpage.

  3. Add flight routing

    Linked station and ground-time views show where a technician might reach the aircraft.

  4. Share the view

    The live dashboard refreshes every three minutes; two-day image snapshots arrive by email every two hours.

The fleet export remained manual. Staff still reviewed the job scope and available technician before dispatch.

Reporting path and source dependency in the Spotfire workflow

THE DELIVERABLES

What I delivered

  • Spotfire dashboard joining supported aircraft, open maintenance deferrals, and flight information.
  • Linked aircraft-routing views with station filtering and ground-time indicators.
  • Two-day reporting snapshot delivered through a scheduled two-hour email task.
  • Documentation covering source fields, identifier formatting, transformations, and reporting setup.

A CLOSER LOOK

Project exhibits

Put maintenance needs beside the flight schedule

The two-day planning view brings active deferrals, upcoming station arrivals, available ground time and station totals together.

Complete Spotfire two-day planning view with aircraft flight schedules, ground-time colors and station chart; logpage IDs and maintenance comments blurred.
Two-day planning view · logpage IDs and comments blurredOpen full image ↗

Make the available time easy to scan

The color rules distinguish station visits by available ground time, making shorter and longer maintenance windows easier to scan.

Spotfire rules applying station-specific colors according to available ground time.
Ground-time color rules · original documentationOpen full image ↗

THE OUTCOME

Where the work stands

Built a working reporting workflow that surfaces maintenance opportunities from multiple operational sources in one view and distributes recurring snapshots.

SCOPE AND LIMITATIONS

What the work establishes

The supported-fleet export remained manual.

The dashboard was designed around approximately 190 supported aircraft, with planned growth to 600 informing the workflow.

NEXT CASE STUDYSix station inventories, one usable process →