rCP
A phone-only cardiac-metrics app, rebuilt into a certified medical device at electronRx.
I started with no app-development experience — and by the end of the year was leading the five-engineer team while the lead software engineer was away.
After I left, rCP was rebranded — see it live as PurpleDXelectronRx's wellness app had to become a regulated medical device — an intuitive, cross-platform experience rebuilt to BSI standards and backed by a full usability-documentation set.
rCP: the medical-grade version of the app, with a front end rebuilt in Flutter and Dart and a quality system certified to ISO 13485.
I joined as a front-end developer with no app experience; self-taught Flutter/Dart, implemented almost all of the front end and designed the database architecture — then contributed the usability documentation and user research the submission needed.
rCP submitted to the BSI for its UKCA mark with an ISO 13485 quality system in place — now live as PurpleDX. I was also trusted to lead the five-engineer team and review all code in the lead engineer's absence.
~12 months
Placement year at electronRx
Team of 5
Led dev in the lead's absence
≈100%
Of the app front-end, implemented
ISO 13485
QMS in place · submitted to BSI
“He has a go-get-it attitude that brings light into the business and will work hard to solve a problem in the most efficient manner. He has a delicate creativity that he applies to his work that helps him learn exponentially and become a major piece in the development of a product. Anyone lucky to work with him will be satisfied with his performance.”
At a glance
The fast version
The product
rCP, in the hand
A walkthrough of the app I implemented — the front end engineers and users actually touch.
The journey
From zero app experience to leading the build
A placement year of progressive responsibility — each step earning the next.
- Step 1Start of placement
Learned Flutter & Dart
I joined with no app-development experience. I taught myself Flutter and Dart by first building a throwaway app containing all the functionality I'd later need — so I learned the stack before touching production code.
- Step 2Early placement
First production feature
Built an educational page from scratch alongside a fellow junior developer. The articles lived in the cloud and cost money on every download, so I structured it to fetch each article as few times as possible — my first taste of weighing engineering decisions against cost.
- Step 3Throughout
Explaining the build to non-engineers
I wrote short, diagram-led documents so non-technical colleagues — up to the CEO — could understand how features worked. Translating engineering into plain language became a recurring part of the role.
- Step 4Quality-system work
Usability documentation
Given the Usability Lead title, I authored three of the quality system's usability documents — the Instructions for Use, the User Interface Specification and the Task & Use-Related Risk Analysis — that fed the medical-device submission.
- Step 5End of February
ISO 13485 certified
The company achieved ISO 13485 certification — the quality-management standard for medical devices — an effort the usability work I contributed to fed into.
- Step 6Mid placement
Architecture & testing rewrite
Designed the database architecture and helped migrate the codebase into new, testable repositories — writing tests under the guidance of the test engineer to make future changes faster and safer to ship.
- Step 7Later placement
Full front-end redesign
Trusted to implement the entire front end from scratch in Flutter/Dart during a complete redesign of all nine of the app's pages — built to be intuitive, cross-platform and compliant with BSI standards.
- Step 8End of placement
Trial, leading the team & BSI submission
Designed a public usability validation trial to BSI standards, led the five-person dev team and managed TestFlight delivery while the lead engineer was away, and saw rCP submitted to the BSI — later going live as PurpleDX.
What I did
Hired as a front-end developer — bandwidth expanded across the year
I joined with no app-development experience, hired to build the front end. Over the year my remit widened dramatically: because I came to understand the app and its process so well, I was pulled into the documentation, research and leadership a medical device demands — and, out of the five engineers, I was the one asked to lead the team while the lead software engineer was away.
Front-end implementation
- Almost all of the app's front end, in Flutter/Dart
- Implemented all 9 pages in a full redesign
- Cross-platform (iOS / Android)
- Reviewed the team's pull requests
Architecture & quality
- Designed the database architecture
- Three usability docs feeding the ISO 13485 QMS
- Instructions for Use & UI Specification
- Task & Use-Related Risk Analysis
Research & delivery
- User research & interviews
- Designed the usability validation trial
- Trained 2 engineers (incl. my replacement)
- Led the team + TestFlight in the lead's absence
The challenge
Turning a consumer app into a regulated medical device
rCP measures cardiac metrics using only a phone's sensors. To become a medical device certified by the BSI, it couldn't just work — it had to be demonstrably safe, intuitive and fully documented to ISO 13485 standards.
What that demanded
- A front end rebuilt to be intuitive and compliant with BSI standards.
- A full usability-documentation set written to ISO 13485.
- Evidence — a validation trial — that real users could navigate it safely.
- A codebase clean and tested enough to ship changes with confidence.
Where I fitted in
I owned the front-end implementation and the database architecture, and — as Usability Lead — authored the usability documents that fed the submission.
The backend was built by the wider team; my contribution sat across the app the user touches, the data model beneath it, and the documentation that proved it was fit to be a medical device.
How it's built
Where my work sat in the stack
rCP reads cardiac metrics from a phone's sensors and surfaces them back to the user. I implemented the front end and designed the database architecture; the backend was built by the wider team.
Phone sensors
Captures the raw signals from the user's own phone — no extra hardware.
rCP app — Flutter / Dart
The cross-platform front end. Almost all of it implemented by me across the redesign.
Backend & cloud — Firebase
Processing and storage, built by the wider team.
Database architecture
The data model beneath the app — which I designed.
Cardiac metrics
Results surfaced back to the user inside the app.
Quality & regulatory
Built to medical-device standards
rCP sits on the path of a clinical measurement, so the bar was higher than 'it works'. As Usability Lead I contributed the documentation and research behind the submission — work that fed the company's ISO 13485 certification and the BSI filing.
ISO 13485 quality system
Certified during my time — the medical-device quality standard the usability work fed into.
Usability documentation
Three core documents — Instructions for Use, User Interface Specification and Task & Use-Related Risk Analysis — authored as Usability Lead.
Usability validation trial
A public study designed to BSI standards to evidence that real users could navigate the app safely.
Submitted to the BSI
rCP submitted for its UKCA mark — and since gone live, rebranded as PurpleDX.
Leadership & collaboration
Trusted with the team, not just the code
Having started with no app experience, I came to know the app and its process well enough that — out of all five engineers — I was the one chosen to lead while the lead software engineer was away.
Running the build
- Chosen, out of the five engineers, to lead the team while the lead software engineer was away — assigning work, unblocking people and hitting every deadline.
- Put in charge of reviewing all code submitted during that period, on top of my usual pull-request reviews.
- Managed the app's development and submission to TestFlight.
Bringing people up to speed
- Trained two engineers — including my own replacement, whom I moved from React to Flutter and Dart through paired programming.
- Helped embed the company’s tools and ways of working with the people I onboarded.
- Represented the company at Cambridge start-up networking events.
Judgment under pressure
When a redesign didn't go to plan — and the call we made
Not everything ran smoothly. What mattered was triaging the problem against the schedule, rather than letting one page derail the wider plan.
What happened
Redesigning the wellness page, I found a section that didn’t work at all. Fixing it properly would have taken far more time than was allocated — and pressing on was already pushing my other work behind schedule.
The call we made
Rather than let one page hold up everything else, we agreed to log the deeper issue for later investigation and keep me on schedule. I recovered the lost ground by solving a later problem faster than planned.
What I took from it
A sharper instinct for triaging scope against time — knowing when a deeper fix is worth deferring to protect a delivery date, and being honest with the team about that trade-off.
Reflection
What rCP taught me
“I started this placement with no app-development experience at all, and left it fluent in Flutter — along with Dart and Firebase — and with a real sense of what it’s like inside a start-up putting a regulated product into the world.”
“I was hired as a front-end developer, but over the year my bandwidth expanded dramatically. Because I came to understand the app and its process so well, I kept being pulled into the work around the code — the usability documentation, the validation trial, explaining the build to non-technical colleagues — and, out of the five engineers, I was the one asked to lead the team while the lead software engineer was away. That product-shaped edge of a front-end role is the part I want to keep building on.”
External validation
I closed the year with a 30-minute presentation and Q&A on the project to most of the company — assessed by Loughborough University and awarded an A grade, with very positive feedback.