Building a Loyalty Platform for a High-End Cosmetic Dermatology Practice

We built a gamified mobile loyalty platform for a medical spa, enabling patients to earn points with built-in urgency mechanics and redeem rewards, supporting a business model where patient lifetime value depends on returning every 3-6 months for cosmetic treatments.

[@portabletext/react] Unknown block type "undefined", specify a component for it in the `components.types` prop

About Client and Key Challenges

Dr. Anna Guanche didn’t just build a dermatology practice, she built a brand. Board-certified, 18+ years in practice, and featured on Oprah, TLC's Ten Years Younger, and Entertainment Tonight, Dr. Guanche opened Bella Skin Institute in Calabasas to serve celebrities, CEOs, and what she calls her “dream derm team.” She trademarked the GuancheLift™. She has her own product lines.

Cosmetic dermatology is a relationship business. Botox every 3–4 months. Fillers every 6–12 months. Laser treatments in series. The patient who returns is worth 10x the one-time visitor. Dr. Guanche knew this, but between appointments, the practice had no digital touchpoint, no way to create urgency, and no loyalty system that matched the premium experience she had spent years building.

Off-the-shelf solutions were not the answer. Every platform she evaluated was either too rigid or too generic, built for coffee chains, not medical practices.

Core pain points we identified:

  • No digital loyalty system. Manual tracking meant inevitable errors.

  • Zero patient engagement during 3–6 month gaps between appointments.

  • Off-the-shelf platforms could not handle cash-only point earning or expiring point logic.

  • No way to send targeted offers based on treatment history or point balance.

  • Generic loyalty UI risked undermining years of premium brand building.

  • Manual QR-less checkout created friction and delays at the front desk.

PlatformsWeb App and Mobile App
Duration12 weeks
IndustryHealthcare

We selected a stack optimized for cross-platform performance, real-time data reliability, and long-term ownership, no proprietary lock-in, no SaaS dependencies.

Partnership Goal

Dr. Guanche came to us with a clear brief: build a loyalty platform that feels like Bella Skin Institute, premium, precise, and patient-first. Not a generic template, but a system aligned with the standards she built over nearly two decades.

The platform needed to:

  • Match the brand with a premium digital experience, not a generic loyalty UI

  • Handle specific business rules including 10% cash-only point earning, expiring points with urgency mechanics, QR-based checkout, and callback-based appointment requests

  • Give her team full control without vendor dependency for rule or campaign changes

  • Drive patient engagement during the 3–6 month gaps between treatments

  • Protect long-term patient lifetime value

Not a loyalty program that almost works. The one her business model actually requires.

Before

  • Manual point tracking with no digital system in place
  • No patient engagement touchpoint between appointments
  • Generic platforms are unable to handle cash-only earning rules
  • No expiring points mechanic to create return visit urgency
  • Staff manually entering transactions, prone to errors
  • No targeted promotions based on treatment history

After

  • Custom iOS and Android loyalty app built to brand standards
  • QR code checkout crediting points in under 15 seconds
  • "Pressure Points" expiration mechanic driving return visits
  • Targeted notifications for expiring points and new offers
  • Admin panel giving management full control over rules and rewards
  • Before/after gallery and service catalog keeping patients engaged between visits

Team Formation

Software development company to build a customer loyalty program

We kicked off with a full discovery sprint before a single line of code was written. Our team mapped every user journey, documented all business logic including accrual rules, redemption caps, and expiry mechanics, and prioritized the development backlog with time estimates. Development ran in structured two-week sprints with end-of-cycle demos. With clear requirements locked upfront, there was no ambiguity, no scope creep, and no rework.

Our Team Composition:

  • 1 Technical Project Manager

  • 1 UI/UX Designer

  • 2 Full-Stack Developers

  • 1 Flutter Mobile Developer

  • 1 QA Specialist

12 weeks

from concept to launch

<15 sec

QR code transaction processing time at checkout

2

Platforms supported from a single Flutter codebase (iOS + Android)

Our Partnership

We did not start coding until everyone agreed on what “done” looked like. Instead of jumping straight into development, we first defined the full blueprint and then executed against it.

We mapped complete mobile user journeys from sign-up to earning to redemption. We documented detailed voucher and points logic including accrual rules, redemption caps, expiry mechanics, and edge cases. We designed every admin screen the front desk would use. We prioritized the development backlog with time estimates and mapped all API integrations between mobile, admin, and database.

By the time development began, there were zero ambiguous requirements. No “we’ll decide later.” No moving targets. Just a clear execution plan.

Development ran in structured two-week sprints with demos at the end of each cycle. Code was pushed to GitHub daily and deployed to a staging environment for real-device testing on iOS and Android. Feedback was incorporated continuously instead of being saved for the end.

After launch, we continued supporting the platform for 8 to 12 weeks to handle edge cases and real-world usage scenarios.

Why it worked was tight communication and fast feedback. Weekly stakeholder check-ins, a direct Slack channel for day-to-day questions, and direct developer access meant decisions were made quickly. When clarifications were needed, responses came fast, which kept momentum high and prevented delays.

Clear scope and fast feedback led to predictable delivery.

QR Code for Points Earning

QR Code for Points Earning

Patients present a unique QR code from their mobile app at checkout. Front desk staff scan it, enter the transaction amount, and points credit instantly — 10% of cash payments. No manual entry, no errors. Transaction completes in under 15 seconds.

Pressure Points (Expiring Points)

Pressure Points (Expiring Points)

Countdown timers show points expiring in 28 days and 7 days. The 28-day reminder acts as an early nudge, while the 7-day reminder creates urgency. Color-coded indicators shift from neutral to red as expiration approaches. Push notifications are triggered at both milestones.

Rewards Catalog

Rewards Catalog

Browse available rewards with images, descriptions, and point costs. Filter by category or point threshold. One-tap redemption: select reward, confirm, and the app generates a validation QR code for staff to scan at the clinic.

Points Balance Dashboard

Points Balance Dashboard

Real-time display of current point balance, total lifetime points earned, and points expiring soon. The home screen shows everything at a glance — no need to dig through menus.

Transaction History

Transaction History

Complete record of every point earned and redeemed, with timestamps, transaction amounts, and location. Patients can verify their history and dispute errors with documentation.

Treatment Results Gallery

Treatment Results Gallery

Before/after photos organized by procedure type (Botox, fillers, laser treatments, facials). Patients can browse results from procedures they're considering. Gallery updates as new results are added.

Service Catalog

Service Catalog

Full list of treatments offered with detailed descriptions and estimated duration. Patients can explore services, learn what's included, and request appointments directly from service pages.

Appointment Request System

Appointment Request System

Patients submit appointment requests with preferred dates and times. Once confirmed, the clinic finalizes the appointment with the patient.

Notifications

Push Notifications

Real-time alerts for expiring points, new promotional offers, appointment confirmations, and treatment reminders. Patients control notification preferences by category.

In-App Notification Center

In-App Notification Center

All notifications are archived in one place. A toggle button allows users to enable or disable notifications based on their preferences. Patients can review missed alerts, tap to view details, or dismiss.

Calendar Integration

Calendar Integration

Calendar integration is used only for point expiry reminders. Patients can choose to add a points expiration date to their device calendar such as iOS Calendar or Google Calendar.

User Account & Profile

User Account & Profile

Account creation via email/password or social login (Google, Apple). Profile shows personal information, contact preferences, notification settings, and account activity. Patients can update contact details, change password, or log out.

Rewards Catalog Management

Rewards Catalog Management

Create new rewards, edit existing ones, or archive old rewards. Set point costs, upload images, write descriptions, and define eligibility rules. Changes publish to mobile app instantly.

QR Code Scanner (Admin Panel)

QR Code Scanner (Admin Panel)

Staff mode for processing transactions at front desk. Scan patient QR code, enter transaction amount, confirm, and points credit instantly. Interface optimized for speed — process 10+ transactions per minute.

What Happened Next – Results

Bella Skin Institute, a dermatology clinic in the USA, successfully launched its cosmetic loyalty program on schedule with the fully automated platform we built, aligned to its clinical workflows and brand standards.

Patients now earn points seamlessly at checkout, expiring point mechanics drive return visits without discounting, and the practice maintains direct engagement throughout the 3–6 month gap between treatments.

The result is a loyalty system that strengthens patient relationships, protects long-term lifetime value, and reflects the premium experience the brand is known to deliver.

Management operates the platform entirely without vendor involvement, adjusting rules, launching campaigns, and tracking redemption rates from the admin panel.

Bella Skin Institute owns the source code, infrastructure, and loyalty data outright. No recurring licensing fees. No vendor lock-in. A platform built to grow with their practice for years to come.

Success story of building a loyalty platform for gamified loyalty mobile app

Still curious?

A gamified loyalty app rewards patients for visits, treatments, and referrals using points, expiring rewards, and progress mechanics, creating return visit incentives that generic punch-card systems or off-the-shelf platforms can't replicate for specialized medical workflows.

Upfront, yes. Custom development requires a higher initial investment. Over a 3 to 5 year period, it is usually more cost-effective.

SaaS platforms charge monthly fees per user or transaction, increase prices annually, and require upgrades for advanced features. You also never own the system.

With custom development, you make a one-time investment. There are no per-user fees. You own the code and data. You can modify the platform anytime without vendor approval.

Most projects break even within 18 to 30 months. After that, the savings compound.

Scope adjustments are handled differently depending on the phase.

During Phase 1, refinements are expected. This phase is designed to clarify requirements and prevent surprises later.

During Phase 2, new requirements follow a formal Change Request process:

  • The new requirement is documented

  • Impact on time and cost is assessed

  • An updated estimate is shared

  • Work proceeds only after approval

This process prevents scope creep and protects both timeline and budget.

Flutter allows one codebase for both iOS and Android. This reduces development time and lowers long-term maintenance costs while keeping features identical across platforms.

Performance is near native because it compiles to native code. For loyalty apps that use QR codes, notifications, forms, and dashboards, Flutter performs reliably.

Native development is only necessary if deep platform integrations such as HealthKit or advanced AR features are required.

You own the platform.

After final payment, you receive the source code, database access, documentation, and deployment instructions. You can hire any developer, change hosting providers, extend features, or transfer ownership.

There is no lock-in.

Points expire after a defined period to encourage repeat visits.

For example, if points are earned on January 1 and the expiration window is 90 days, they expire on April 1 unless redeemed. The app can send reminders at intervals such as 30, 14, and 7 days before expiration.

This creates urgency without aggressive marketing and prevents unused points from accumulating indefinitely. Admins can configure expiration rules, reminder timing, and grace periods.

Choose off-the-shelf if your needs are standard, you want to launch quickly, and recurring fees fit your budget.

Choose custom if you need advanced rules, premium branding, full roadmap control, or plan to use the platform for more than three years.

If loyalty is strategic to your growth, custom typically delivers stronger long-term value.

Manual tracking works if you have very few members and low transaction volume. It can help test whether loyalty impacts your business.

As volume grows, manual systems create errors, delays, disputes, and lack of visibility. Automation becomes necessary for accuracy and scale.

If loyalty is core to retention and revenue, building a dedicated loyalty platform is the better long-term solution.

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, 10% of cash payments in Bella Skin Institute's case. The entire transaction completes in under 15 seconds with no manual entry and no reconciliation errors.

Yes. The admin panel is designed for operational independence, front desk staff can process QR transactions, correct point balances, and manage appointment requests, while management can adjust earning rules, create rewards, and launch promotions without writing code or contacting a developer.

Customer lifetime value difference is driven by visit frequency, average spend, and retention duration. The formula is Average Visit Value multiplied by Visits per Year multiplied by Retention Years.

For example, a non member who spends 150 per visit, comes twice a year, and stays for 2 years generates a lifetime value of 600. A loyalty member who spends 180 per visit, visits four times a year, and stays for 3 years generates a lifetime value of 2,160.

This results in a 1,560 higher lifetime value per loyalty member. In most service businesses, loyalty members typically generate two to four times higher lifetime value because programs increase repeat visits and long term retention.

Check our loyalty calculator to see your program’s potential ROI.