Nancy NguyenSenior Product Designer
San Francisco Bay Area · Remote
Currently — Open to senior and staff design roles
Practice: Product · Systems · AI
← All Work
Vagaro · Product Design · MMXXIV

Vera Fill My Books

Turning a legacy subscription into a performance-based revenue engine — designed end-to-end across 5 platforms as sole designer.

WebiOSAndroidTabletPaydesk
RoleSenior Product Designer · Sole Designer
CompanyVagaro
Timeline6+ months · Q3 Launch
Partners2 VP Eng Orgs · Payments · Compliance · QC
$6MProjected Revenue (6 mo.)
25M+Untapped Consumer Market
5Platforms Designed
20%Fee Per New Booking

* $6M projected by Vagaro finance team based on moving businesses from 6 → 8 new customers/month at 20% fee.

The Opportunity

Vagaro had two underutilized assets sitting next to each other with no product connecting them: thousands of empty appointment slots across their business network, and 25 million consumers in their platform who had never booked with any business.

The existing solution — Get Featured — charged businesses $10/month for passive marketplace visibility. Revenue was flat, capped, and completely disconnected from actual bookings. No incentive alignment between Vagaro's success and the business's success.

Before — Get Featured

  • $10/month flat subscription
  • Passive listing placement only
  • Revenue capped regardless of bookings
  • No incentive to drive outcomes

After — Vera Fill My Books

  • No subscription — pay per result
  • 20% fee on new customer bookings
  • 5% fee on last-minute bookings
  • Revenue scales with business success

This isn't a UX redesign. It's a revenue model transformation that required designing an entirely new product category.

My Scope

I was the sole designer on this project from kickoff through launch — owning every surface across every platform, and every design decision that shaped how the product worked, not just how it looked.

Product Surfaces

  • Onboarding + configuration flows
  • Dashboard & performance reporting
  • Payment & deposit flows (VMS)
  • Automated promotional email system
  • Web, iOS, Android, Tablet, Paydesk

Cross-Functional Partners

  • 2 VP-level engineering orgs (US + India)
  • Payments & VMS team
  • Security & compliance
  • QC — provided test case artifacts
  • Finance — revenue model validation

The Hard Parts

i.

Two strategies, one product

"Get New Customers" and "Fill Last-Minute Openings" target different audiences, have different fee structures, and run on different logic — but share overlapping settings. How do you support two independent strategies without making the product feel fragmented or forcing businesses to configure everything twice?

ii.

Trust in attribution

Businesses needed to trust where bookings came from and why they were being charged. The moment attribution felt unclear — "did Vera actually send this customer?" — the feature gets turned off. The dashboard wasn't just reporting. It was the trust mechanism that kept businesses engaged.

iii.

Payment logic I didn't initially understand

Revenue collection was tied to deposit type (0%, 50%, 100%), timing of payment, and when Vagaro collects its fee — a matrix of interdependent states I had to fully map before I could design them honestly. Misrepresenting this in the UI would create real financial discrepancies.

iv.

Scope change with a fixed deadline

Mid-project, the promotional email system shifted from generic weekly campaigns to personalised targeting based on user behaviour, location, and booking history. The timeline didn't move. This forced an explicit P0/P1 prioritisation decision while core flows were still in progress.

Key Decisions

Enable both goals on by default

Why — Maximises adoption and revenue potential from day one. A business that enables both strategies immediately doubles the surface area for Vagaro to earn a fee.
Tradeoff — Increases financial exposure for businesses who haven't fully understood the fee model.
Design Response — Surface the fee structure immediately during onboarding — not buried in settings. The fee must be the first thing a business sees, not a footnote.

Unified configuration, not separate products

Why — Splitting the two goals into separate flows would have doubled the design and engineering complexity, and created a jarring mental model for businesses running both simultaneously.
Design Response — A single Settings view with parallel goal sections — each independently togglable, with goal-specific logic scoped locally, while shared inputs are unified.

I pushed for the dashboard — it wasn't in the PRD

Why — The PRD defined settings configuration only. I advocated for a dedicated performance dashboard because without it, businesses had no way to see what Vera was doing for them. Attribution without visibility is just a fee.
Design Response — The dashboard became the primary trust mechanism: Revenue from Vera, New Customers, Appointments Booked, and Lifetime Revenue — with date filter and category breakdown.

Mirror existing Reports patterns for trust

Why — Vagaro businesses already trusted the Reports module drill-down interaction. Reusing that pattern meant businesses could understand attribution intuitively without a new mental model.
Design Response — Revenue breakdown uses the same click-to-drill-through pattern as Vagaro's existing Reports. Familiarity is a feature.

Build a source-of-truth for payment logic

Why — Payment flows involved deposit type × fee timing × Vagaro's revenue collection — a matrix no single person held completely. Ambiguity here causes financial errors in production.
Design Response — Created mapping tables and flow charts for every VMS scenario. QC used these as test case documentation. This became the canonical reference for the payments team.

Scope the personalised targeting to P1

Why — When the email system pivoted from generic → behaviour-based personalisation, the timeline didn't change. Get settings, dashboard, and payment infrastructure in P0. Targeting deferred.
Design Response — This required realigning two VP engineering orgs and resetting stakeholder expectations. The P0 product launched on schedule.

The Solution

View I — Dashboard

“Is Vera making me money?”

Four top-level metrics answer the only question a business owner asks: Revenue from Vera, New Customers, Appointments Booked, Lifetime Revenue. A date filter lets businesses compare periods — except Lifetime Revenue, which intentionally ignores the filter (explained via tooltip) to prevent misattribution. The revenue breakdown shows which service categories Vera is driving.

Vera Fill My Books — Dashboard
Vera's Performance Dashboard — Revenue ($40,260), New Customers (18), Appointments (40), Lifetime Revenue ($50,220). Revenue breakdown by category.

View II — Settings

Two goals, one surface

Both “Get New Customers” and “Fill Last-Minute Openings” are on by default and configured in a single view. Each goal is independently togglable. Fee structures surface directly in each section — not in a help article.

Vera Fill My Books — Settings
Settings — Dual-goal configuration. Both on by default. Fees visible immediately: 20% new customers, 5% last-minute.

View III — Payment Flows (VMS)

Three deposit scenarios — 0%, 50%, 100% — each with distinct fee timing and revenue collection logic. The most critical flows for Vagaro's revenue model working correctly.

Scenario 1 of 5

Business has no Vagaro Merchant Services. Vagaro takes a fixed booking deposit (Fill My Books fee). The business collects the remaining balance directly at appointment via their own processor. Vagaro never touches the remaining amount.

Customer
Pays deposit at booking
Deposit80% at appt
Vagaro
Keeps deposit (Fill My Books fee)
Business
Collects via own processor
Refund /<24 hrs>24 hrs
No Vagaro refund
Business issues refund from their own processor
No Vagaro Refund
Cancel >24 hrs — refunded
Vagaro refunds deposit directly to customer card
Cancel >24 hrs — refunded
Vagaro / VMS
Non-refundable fee
Customer refund path
Business absorbs loss
Solid = money flow  ·  Dashed = outcome path

What I'd Change

i.

Start with the deposit flow

The deposit × fee matrix is the most financially critical part of the product. I treated it as a later-stage design problem. In hindsight I'd align on the full payment logic in week one — misunderstanding it late created compounding rework across teams.

ii.

Validate dashboard hierarchy earlier

I made assumptions about which metrics matter most to a salon owner vs. a gym vs. a spa. I'd test whether "Revenue from Vera" or "New Customers Acquired" is actually the primary signal — the hierarchy shapes the entire trust model.

iii.

Document decisions as they happen

Other teams have since referenced patterns and artifacts from this project. The payment logic tables became QC documentation. I'd make design rationale a first-class artifact from day one — not a retrospective write-up.

What This Taught Me

Designing complex systems isn't primarily about interaction patterns. The hardest decisions were about what to show vs. hide, how to frame cost vs. value, and when to push back on scope vs. absorb it.

This was the first time I owned a feature of this commercial and technical complexity end-to-end — across 5 platforms, two engineering organisations, and a payments system with real financial consequences. It changed how I think about what “product design” means at a senior level: less about crafting the perfect UI, more about making the right decisions at every layer of a system, and building the trust that lets other teams move with confidence.

What's Next

Vera AI Orchestrator

Fill My Books is one of several AI-powered features designed under Vagaro's Vera platform — an orchestration layer that brings AI-driven automation to every part of running a service business.

Auto-Create

AI generates services, memberships, and packages from natural language.

Reports Agent

Conversational insights over your own data — revenue, bookings, staff performance.

Support Agent

Context-aware support responses outperforming the existing Zendesk AI integration.

Business Health

Proactive surface surfacing anomalies, opportunities, and benchmarks.

Full case study available on request.