
Ambu® iQF Apps
About
Between 2019–2022 I was Lead Developer/Designer of a pair of cross-platform mobile apps that teach and assess CPR technique, built for Ambu - a globally recognised MedTech company, and now used by CPR training professionals worldwide. The iQF Instructor and iQF Trainee apps connect to CPR training dummies via Bluetooth, and I owned the full design pipeline for how that raw sensor data became something a trainee could understand and act on - from early wireframes and Figma mockups through to the final visual language, animation, and implementation.
Project Info
Role:
UI /UX Designer, Graphic Designer, Lead Developer
Time Frame:
5 Years (3 Production, 2 Maintenance)
Team Size:
1-3
Tools Used:
Typescript, React Native, Adobe Illustrator, Adobe After Effects, Figma, Java
Trailer
Background
The apps were built in the cross-platform framework React Native, which meant I owned both the design and the implementation of every screen, carrying a feature from an early wireframe through to final visual design, animation, and shipped code without handing off to a separate team in between.
Beyond the UI work, the project also demanded a fair amount of native-level problem solving. The iQF Instructor and iQF Trainee apps never connect to each other directly, rather, they communicate exclusively through a shared Bluetooth peripheral (the CPR training doll), which meant understanding the Bluetooth 4.0 protocol down to packet byte sizes, and occasionally stepping out of React Native into native Java (Android) and Objective-C/Swift (iOS) code, including implementing Over-the-Air firmware updates.
Core design and development ran 2019–2022, followed by two further years of maintenance and support through 2024.
Key Features
Designing the connection and monitoring flow, from wireframe to shipped app
The Instructor app needed to make a genuinely complex piece of hardware feel simple: scanning for and connecting to up to 6 CPR dolls, then monitoring live performance data across all of them at once, with the option to focus in on any individual trainee. I designed this flow from early Figma wireframes through to final visual implementation — working through the connection states (scanning, connected, ready-to-start), the at-a-glance Overview dashboard, and the drill-down Inspect view, before building the final UI myself in React Native.
The flow was refined through in-person usability testing with Ambu's own clients and internal testers at Prevas, surfacing issues that shaped several rounds of iteration before the final version shipped.
Example of a journey from Figma Mockup (left) to final flow in app (right)
Translating raw performance data into clear, readable visuals
Each training session produces a stream of raw sensor data - compression depth, rate, ventilation volume, and more - all mean little as numbers on their own to the user. I designed how that data gets translated into line graphs and radar charts that a trainee or instructor can read and act on in seconds, both within the app and as exportable PDF reports for record-keeping.
Two kinds of Session results: General overview with a Radar Chart (left) and a moment-to-moment Electrocardiogram style graph (right)
Designing around a hardware-mediated network topology
The Instructor and Trainee apps never connect to each other directly - all communication passes through the CPR doll's Bluetooth connection as an intermediary. This meant the UI had to account for real limitations rather than an idealized connection: the Instructor app can only ever see which dolls are nearby, not which Trainee apps are attached to them, which directly shaped decisions like the Trainee-side "waiting room" screen while an instructor admits them into session.

This project let me take a product all the way from initial planning and concept, through iterative development, to testing, release, and (over the following two years) ongoing maintenance and updates. What it taught me breaks down into two areas: technical and professional.
Technically, the project sharpened both ends of the stack. On the design side, I moved from early wireframes through to final visual language and asset production, creating my own SVGs and animations for implementation in the app, which gave me a genuine end to end sense of the UI pipeline, not just the final screens. On the engineering side, I sharpened application and GUI development, and gained real depth working with Bluetooth protocols and signal processing at a low level. I also worked with a colleague to build automated tests using a framework based on Appium, which taught me a lot about building QA into a product rather than treating testing as an afterthought.
Professionally, this project gave me several years of experience working directly with a client, including communication, scoping, and planning, and managing sprints and other Agile workflows. Just as valuable was running in person usability tests, both with Ambu's own clients and with internal testers at Prevas, the consultancy I worked for. Watching real users interact with the app directly informed several feature discussions and refinements that wouldn't have surfaced from internal review alone.
What I Learned









