A mission-critical Flight Planning & Monitoring System used by Lufthansa and major global airlines. It serves as the central nervous system for flight operations, allowing pilots, dispatchers, and shift managers to plan routes, monitor fuel, and react to airspace changes in real-time.
The system was massive, split into 9 separate modules with disconnected teams and legacy code. My goal was not just to add features, but to unify the user experience across these areas, ensuring safety and consistency for thousands of daily flights.
Not a straight line, but a continuous cycle. Given the complexity of 9 interconnected modules and high safety standards, a standard linear process was impossible. I implemented a cyclical workflow where Research, Design, and Validation happened in tight, repeating loops.
Why this approach? Instead of waiting for a "final" design, we constantly validated partial solutions with pilots. This allowed us to catch logic errors early and refine the interface iteratively, ensuring the final product was battle-tested before development even started.
Designing for pilots requires thinking like a pilot. Standard user research wasn't enough. I went through 3 weeks of intensive aviation training to understand the physics of flight, weather patterns, and fuel calculations. You can't simplify a flight plan interface if you don't understand what "ETA" or "Notams" mean.
Skipping wireframes for realism. Since we already had a robust component library, I bypassed low-fidelity wireframes and designed directly in High-Fidelity.
Validation scaled to the problem size. I tailored the testing method to the complexity of the task:
Quick Checks (2-5 Users): For improving existing features, I ran rapid usability tests with simple prototypes to validate micro-interactions.
Deep Dives (8-12 Stakeholders): For brand new modules, I facilitated full-day workshops and stress-tests to ensure the logic held up across different scenarios.
One Design System to rule 9 modules. With multiple teams working, consistency was the biggest enemy. I didn't just design screens; I audited the legacy modules and expanded a scalable Design System.
The Strategy: I treated the UI components as a product itself, creating clear guidelines that allowed developers from different teams to build consistent interfaces without my constant supervision.
Design doesn't stop at export. With 9 separate modules and disconnected dev teams, the risk of inconsistent implementation was high. I didn't just hand off the files; I stayed involved throughout the build process.
The Connector Role: Communication between backend and frontend teams was often fragmented. I acted as the bridge, organizing Cross-Team Syncs to ensure that technical constraints were addressed early and that components were reused correctly across modules, preventing code duplication.