The Client
The same 4-location aesthetic medicine practice from the previous case studies. After successfully launching their booking system and lead generation tools, they wanted a mobile app to centralize patient communication, display skin reports, manage appointments, and enable content discovery.
The same agency that had failed on the practice management system had also built a mobile app in Ionic and AngularJS. It was over-engineered, poorly architected, and felt terrible to use. The app was technically published on both App Store and Play Store, but the company refused to advertise it or allow patient logins because they didn't trust it.
By this point, I was the tech lead for the company. I reviewed the codebase and found significant data architecture flaws. The decision was clear: scrap it and rebuild from scratch.
The Challenge
Another inherited disaster The agency's Ionic app was unusable. Over-engineered, poorly designed, and fundamentally flawed in its data architecture. Publishing it publicly would damage the brand.
Time and resource constraints I was already overseeing multiple projects. I needed to get this app built quickly and then hand it off to others to maintain and iterate on.
Setting up for sustainable development This couldn't just be a one-time build. I needed to establish a framework and process that would allow future features to be delivered in days, not weeks, by other team members after I handed it off.
iOS and Android simultaneously Both platforms needed to launch together, but maintaining two separate native codebases would be inefficient.
Integration complexity The app needed to integrate with the existing backend systems: patient records, skin analysis reports, booking system, treatment history, and marketing tools.
The Solution
As tech lead, I made the call to completely rebuild the mobile app from scratch. But I also knew I couldn't be the bottleneck - I needed to build it fast and set up a sustainable development process for the team.
My approach:
Team structure: I worked with another competent external developer to build the initial version quickly. The plan was for me to build the foundation in a 10-day sprint, then hand it off to him as well as an internal all-rounder, and the designer to continue iterating - with me providing oversight but not doing the hands-on development.
Technology choices: I chose Expo + React Native because I'd built apps with it before and knew it would enable:
Cross-platform development (one codebase for iOS and Android)
Instant over-the-air updates for non-native changes (no App Store review needed)
Separate deployment pipelines for urgent fixes vs. feature releases
Process setup: I established two deployment pipelines:
Over-the-air updates: For UI changes, bug fixes, content - deployed instantly
Native updates: For changes requiring native code - submitted through App Store review
This infrastructure would allow the team to ship features in under 7 days (and 1 day if urgent) instead of the 30-day cycles we'd seen before.
UI framework: I had the designer pick the UI component library to ensure the design team would be comfortable working with it long-term.
10-day build sprint:
Wednesday → Saturday (10 days):
Set up Expo + React Native project with deployment pipelines
Built authentication and backend integration
Implemented core features:
View 3D skin analysis reports (integrated with lead gen tool)
View past and upcoming treatments
Browse treatment history
Book appointments through the app
Centralized communication hub
Content discovery for treatments and procedures
Complete integration with existing backend systems
Testing and refinement
Submitted to App Store and Play Store
Monday (12 days from start): First users downloaded and logged into the app.
Post-launch additions: Push notifications were added later to give the marketing team better reach and engagement capabilities.
The REsults
10 days from start to published Went from first line of code to fully functional apps published on both App Store and Play Store in 10 days. First user logins happened on day 12.
500+ installs in first 10 days Strong adoption from existing patient base who had been waiting for a usable app. Coming up on 1,000+ installs now.
60% email-to-app conversion rate When we sent emails to patients after they received their skin reports - telling them they could also view them in the mobile app - 60% installed the app AND completed sign-in. This demonstrated both strong demand and a smooth onboarding experience.
30-day → 7-day (or 1-day) feature delivery By setting up proper deployment pipelines and infrastructure, the team could now ship features in under 7 days instead of the 30-day cycles with the old agency. Urgent fixes could be deployed in 1 day via over-the-air updates.
Successful handoff After the initial sprint, I handed the project to the other developer, designer, and internal team member. They continued building features while I provided oversight - exactly as planned. The app didn't become dependent on me.
Foundation for patient engagement The app became the central hub for patient communication, treatment tracking, and appointment management. It improved patient experience and gave marketing new channels for engagement.
Platform for future growth The clean React Native codebase and established processes meant new features could be added efficiently as the practice's needs evolved.
Timeline
Day 1 (Wednesday): Project kickoff, Expo/React Native setup, deployment pipeline configuration
Day 2-8: Core feature development and backend integration
Day 9-10: Testing, refinement, and app store submission
Day 12 (Monday): First users download and log in
Total: 10 days from start to published apps with real users
Key Takeaways
This project succeeded because I didn't just rebuild the app - I built the system around it. The deployment pipelines, the team structure, the technology choices - all were designed to make the app sustainable and maintainable after I moved on.
The key insight: As a tech lead, your job isn't to be the hero who builds everything yourself. It's to build things fast, set up processes that work, and enable the team to succeed without you being the bottleneck.
Speed was possible because:
I'd built React Native apps before and knew the tooling
I worked with a competent developer instead of trying to do it solo
We ruthlessly prioritized MVP features - everything else could come later
The deployment infrastructure was built for speed from day one
The lesson: Sometimes the best way to move fast is to set up systems that let others move fast after you. The 10-day build sprint got us to launch. The deployment pipelines and team structure enabled 7-day feature cycles forever after.
And when you're tech lead, making the hard call to scrap a bad project and start over is part of the job - even if it means throwing away months of someone else's work.
NEED A MOBILE APP THAT ACTUALLY WORKS?
Whether you're starting fresh or fixing a failed project, let's discuss how I can build and set up sustainable mobile development for your practice.