- Platform
- Web App and Mobile App
- Duration
- 12 weeks
- Industry
- Healthcare
- Read time
- 6 min read
Dr. Anna Guanche spent 18 years building Bella Skin Institute into something more than a dermatology clinic. Board-certified, featured on Oprah and TLC, with a trademarked procedure (the GuancheLift™) and her own product lines, her practice in Calabasas serves an clientele that expects a premium experience at every touchpoint.
The business model for cosmetic dermatology depends on repeat visits. Botox every 3–4 months. Fillers every 6–12 months. Laser treatments in series. The patient who returns is worth significantly more than the one-time visitor. But between appointments, the practice had no digital touchpoint, no way to create urgency, and no loyalty system that matched the standard she had built over nearly two decades.
Every off-the-shelf loyalty platform she evaluated was built for coffee chains. Too rigid, too generic, and unable to handle the specific rules her business required: 10% cash-only point earning, expiring points to drive return visits, QR-based checkout, and a premium brand experience that would not cheapen what she had built.
She came to us to build the platform from scratch. We delivered in 12 weeks. The practice owns the code outright, with no vendor lock-in and no recurring licensing fees.

before & after
What changed
- No digital loyalty system: patient points tracked manually, creating errors and no engagement between appointments
- Zero touchpoint during the 3–6 month gap between treatments
- Off-the-shelf platforms could not handle cash-only point earning rules or expiring point logic
- Staff manually entered transactions at checkout, causing delays and reconciliation problems
- No way to send targeted offers based on treatment history or point balance
- Generic loyalty UI would have undermined the premium brand standards built over 18 years
- Custom iOS and Android loyalty app built to Bella Skin Institute's brand standards
- QR code checkout credits points in under 15 seconds, with no manual entry and no errors
- "Pressure Points" expiration mechanic sends 28-day and 7-day reminders that drive return visits without discounting
- Before/after gallery and service catalog keep patients engaged and considering their next treatment
- Admin panel lets front desk staff process transactions and management adjust rules without developer involvement
- Practice owns the source code, data, and infrastructure with no vendor dependency
What we had to solve
- 01
Building an expiry mechanic that creates urgency without alienating patients
Expiring points are only useful if patients are reminded before it is too late to act. Too many reminders and they become noise. Too few and the mechanic fails. We designed a two-stage system called "Pressure Points" where a 28-day reminder acts as an early nudge and a 7-day reminder creates genuine urgency. Color indicators in the app shift as expiration approaches. Push notifications are triggered at both milestones. Getting the timing and tone right required close work with Dr. Guanche's team to match the brand voice: clinical, warm, and never pushy.
- 02
Making the admin panel fast enough for a busy front desk
The QR code scanning flow needed to work at front desk pace: scan a patient's code, enter the transaction amount, confirm, and the points credit, all in under 15 seconds. Any slower and staff would stop using it. We also had to design the rewards management, rule adjustment, and reporting tools so that non-technical management staff could operate them without training documentation or developer help. Two very different users, the front desk processing transactions and the manager adjusting campaigns, needed the same system to feel natural for each of them.
outcomes
What we achieved
The practice had no digital loyalty system. Patient points were tracked manually, causing inevitable errors and no engagement during the long gaps between cosmetic treatment appointments.
Staff manually entered transactions with no QR-based system, creating friction and reconciliation errors at a front desk that could not afford to slow patient checkout.
Off-the-shelf loyalty platforms could not handle cash-only earning rules, expiring points logic, or the premium brand standards the practice required. Custom was the only path.
Your practice has loyal patients but no system to recognize and retain them between visits?
the build
What we built
We started with a full discovery sprint before any code was written: mapping every user journey, documenting all business logic including accrual rules, redemption caps, and expiry mechanics, and prioritising the development backlog with time estimates. By the time development began, there were zero ambiguous requirements.
Points credit in under 15 seconds — no manual entry, no reconciliation errors
Patients open their app and present a unique QR code at the front desk. Staff scan it, enter the transaction amount, and points credit instantly at 10% of cash payments. No manual entry, no reconciliation errors. The entire transaction completes in under 15 seconds. The admin panel's scanning interface is optimised for checkout speed, not technical users.

Expiry drives return visits without requiring the practice to discount services
Countdown timers show points expiring in 28 days and 7 days. Colour indicators shift toward red as expiry approaches. Push notifications fire at both milestones. The 28-day reminder acts as an early nudge toward booking a next appointment. The 7-day reminder creates genuine urgency. Expiry drives return visits without requiring the practice to discount services.

Practice stays present during the 3–6 month gap between visits — without any manual outreach
A before/after gallery organised by procedure type lets patients browse results from treatments they are considering. A full service catalog with descriptions and duration estimates lets them explore options and submit appointment requests directly from the app. The practice maintains a digital presence during the 3–6 month gap between visits without any manual outreach.

Front desk processes transactions, management adjusts the program — no vendor involvement required
Front desk staff process QR transactions, correct point balances, and manage appointment requests without technical training. Management adjusts earning rules, creates rewards, sets expiry windows, and reviews redemption analytics from the same panel. All changes publish to the mobile app instantly. No vendor involvement required.

Engagement
How we worked together
- 01Weeks 1–2
Discovery and scoping
We map the problem before writing code. Two weeks of technical audit, stakeholder interviews, and prototype — so both teams align on scope and risk before sprint one.
- 02Ongoing
Two-week Agile sprints
Each sprint ends with working software, not a status update. You review a real build, request changes, and approve before we move forward. No surprises at handover.
- 03Ongoing
Daily async updates
Slack for daily progress, Asana for task visibility, weekly video calls for decisions. You have full visibility without needing to attend every meeting.
- 04Final
Handover and warranty
Full code handover with deployment runbooks and documentation. Thirty-day warranty period for production issues at no extra cost.
stack
Why we chose this stack
- 01The practice needed iOS and Android apps with identical features and a consistent premium look across both platforms. Flutter compiles to native code and produces near-native performance for the QR scanning, push notifications, and real-time point balance updates the app required, all from a single codebase.Flutter
- 02The point balance dashboard and transaction history needed to update in real time when a QR transaction processed. Hasura's GraphQL subscriptions push changes to the mobile app instantly, so patients see their updated balance before they leave the checkout counter.Hasura GraphQL
- 03Patient records, transaction history, point balances, and expiry schedules all needed reliable structured storage with the query performance to support live dashboards and the audit trail the practice needed for accurate point reconciliation.PostgreSQL
- 04Authentication and push notifications needed to work reliably on both iOS and Android without becoming a maintenance burden. Firebase handles both at scale and powers the two-stage Pressure Points reminders that fire at 28 and 7 days before expiry.Firebase
Still curious?
Off-the-shelf platforms are built for the average use case (coffee shops, retail chains). They cannot handle cash-only point earning, expiring points with specific urgency timing, or QR-based checkout at a medical front desk. More importantly, they cannot match a premium brand. The appearance of a generic loyalty app undermines years of brand building. Custom development costs more upfront but gives the practice rules that actually match its business model and a product that feels like it belongs to the brand, not a third party.
Upfront, yes. Over three to five years, custom is usually more cost-effective. SaaS platforms charge monthly fees per user or per transaction, raise prices annually, and require upgrades for advanced features. You never own the system. With custom development, the one-time investment means no per-user fees, you own the code and data, and you can modify the platform without asking a vendor. Most projects break even within 18 to 30 months.
The patient opens the app and shows their unique QR code. The staff member scans it in the admin panel, enters the transaction amount, and confirms. Points credit instantly at 10% of the cash payment in Bella Skin's case. The whole transaction takes under 15 seconds. No patient name lookup, no manual entry, no end-of-day reconciliation errors.
Yes. The admin panel was designed for two different user types: front desk staff processing transactions quickly and managers adjusting rewards and campaigns. Both interfaces are self-explanatory. Staff can scan QR codes, correct point balances, and manage appointment requests without documentation. Managers can update earning rules, create new rewards, and review redemption data without contacting a developer.
Yes. After final payment, you receive the source code, database access, deployment documentation, and infrastructure credentials. You can hire any developer to maintain or extend it, switch hosting providers, or transfer ownership. There is no lock-in. Bella Skin Institute owns the platform outright, with no recurring licensing fees and no vendor dependency.