DIGITAL OPS BOX
← All work
Operations platformAmy's Skincare Oasis2025

ASO Work App

The operating layer a spa booking platform was never meant to be.

Amy's Skincare Oasis had been through three booking platforms in 13 years — Booker, Square, Boulevard. Each migration meant starting over on operational data. The ASO Work App is the layer that handles what booking platforms skip: daily accountability, task routing, client follow-up, homecare, payroll, gift cards, content planning, and operational data the spa actually owns.

Practical results
  • Daily operational work — tasks, checklists, client follow-up — in one place instead of spread across apps
  • Platform-independent data: spa owns client, visit, and routine history across booking migrations
  • Weekly payroll computed and approved without spreadsheets
  • Client homecare delivered and saved per visit, driving retention and replenishment follow-up
  • Staff have fewer places to go; owner has more operational control
ASO Work App — system preview

Operational problem

Booking platforms handle appointments and transactions well. That is what they are built for.

They do not manage the operational work that keeps a small service business running day to day: staff accountability, recurring task queues, client follow-up, homecare recommendations, purchase orders, payroll reconciliation, gift card tracking, or content scheduling. That work lived in spreadsheets, separate apps, and the owner's memory.

After 13 years across three platforms — Booker, Square, Boulevard — the pattern was clear: operational data lives inside whoever's platform you are currently paying for, and it leaves with them when you switch. The goal shifted from "use the platform" to "own the data."

What the app does

The ASO Work App is an internal operations dashboard built on top of — not instead of — Boulevard. It is the layer between the booking platform and how the spa actually runs day to day. Staff have fewer places to go; the owner has more operational control; and the data belongs to the business, not the vendor.

Daily dashboard and daily log

The staff-facing view on opening the app. A daily log records what happened — transactions, notes, completed tasks. Important links section gives staff click-to-copy booking links for specific services, cutting down on the habit of keeping five browser tabs open for different processes.

Task board

Replaced ClickUp for spa-specific recurring work. States: recurring, needs review, do today, waiting for response, done. Website form fills from potential leads create actionable tasks automatically, so follow-up is an item in the queue, not something that depends on the owner checking email.

Calendar and time-off workflow

Internal time-off requests flow through the app. Future phase: direct integration to programmatically block corresponding time on the Boulevard calendar. Currently the connection between internal request and external calendar block is manual; that loop is on the roadmap to close.

Client CRM

Platform-independent client records: purchase history, visit history, homecare history. Filterable and searchable without exporting from Boulevard. When the spa migrates to the next platform, the data is already in a system the spa controls — the next migration becomes a sync, not a loss.

Homecare routines

Homecare started as a simple form-to-PDF flow built during the Square era. It has since been rebuilt as a retention and replenishment system connected to the client CRM and product catalog.

See Homecare Routine Pipeline → for the full module detail.

Gift card management

Boulevard's gift card system does not provide enough control. Gift cards moved to Shopify as the source of truth. The app tracks the transition period: physical cards activated by staff, e-gift cards generated online, with a log of codes, activation status, and fulfillment method. Shopify is the long-term system; the app manages the transition.

Content library and posting plans

Structured content objects: saved thumbnails, headline copy, body copy. Posting plans assembled from content objects. The goal is not to be the best standalone content tool — it is to keep content visible in the same operational environment staff already use. Future: push posting plans directly into a calendar view.

Payroll

Weekly payroll calculation lives in Settings because it is a scheduled workflow, not a daily task. The engine pulls data from Boulevard, applies the studio's actual pay rules, and produces a reviewable document before any approval.

See Salon Payroll Engine → for the full module detail.

Settings: recurring tasks, contact notifications, daily closeout

Recurring task controls let the owner configure which operational tasks recur and at what frequency. Contact notifications are alert rules per team member. The daily closeout checklist is customizable and staff-facing — sent to whoever is working that day. Staff must open the app and physically check off each item. Not a passive email. Roughly a dozen items covering closing procedures and daily task confirmation.

Communications log and developer tools

Communications history including voicemail ingestion. The spa uses Google Voice as its voicemail line to keep the front desk phone from ringing constantly; ingesting those messages via Gmail API keeps them visible in the operational log without requiring another screen open. This is a supporting detail, not the headline.

Future: full client messaging moves to Klaviyo API, removing the dependency on Boulevard's messaging system entirely. Boulevard messages cannot be automated or accessed externally. The dev area tracks webhook settings and integration logs for troubleshooting.

What changed

BeforeAfter
Staff accountability depended on askingDaily log and closeout checklist create visible records
Task follow-up in ClickUp (generic, not spa-specific)Task board tuned to spa work, lead follow-up, recurring checks
Client data owned by the booking platformPlatform-independent records the spa controls
Payroll: 2–3 hours in spreadsheets every MondayUnder 10 minutes with traceable calculation
Homecare: verbal instructions or one-off PDF emailSaved, searchable, replenishment-ready client routine links
Gift cards: Boulevard-controlledShopify as source of truth, app manages transition
Content planning: separate appContent library in the same dashboard

In progress

  • Full Klaviyo-based client messaging (replacing Boulevard's closed system)
  • Boulevard calendar blocking from approved time-off requests
  • Homecare cart embedding with direct product purchase links
  • Replenishment follow-up batches based on routine history
  • Shopify as full product catalog source of truth

What this pattern applies to

Any service business on a booking platform that has outgrown what the platform provides beyond appointments. The booking platform stays; the operational layer around it gets built.

Especially relevant for owner-led spas, salons, and med-spas migrating between platforms — or any operator who has watched years of operational data walk out the door when they switched software.

Technical details

Next.js 16 staff dashboard. Supabase backend with 67+ schema migrations representing real operational evolution — not a greenfield design, but a system shaped by how the spa actually runs.

Scheduled imports from Boulevard's API (sales, timeclock, client records, products) via pg_cron. Klaviyo for client-facing delivery (homecare links, appointment follow-up). Shopify for gift card source of truth. Payroll calculation engine and homecare composer detailed in the child case studies below.


The booking platform is the front door. This is the rest of the building.

System screenshots

Click any image to view full size.

Technical details

Implementation stack for teams who need to know how it was built.

  • Next.js 16
  • Supabase
  • Boulevard API
  • pg_cron
  • Klaviyo
  • Shopify
Module detail

These case studies go deeper on specific workflows inside this system.

Next step

Have a version of this problem?

Let's map the workflow before deciding what to build.

Start a conversation