Dilhan.W
← Back

How we got a local salon tofinally throw away theirpaper ledger.

Role
Founder · Product design & functional prototype
Timeline
2 months
Platform
Installable mobile web app
Product
LevelUp Salon (SaaS)
Scope
Research, IA, UI, UI kit, build, go-to-market
Tools
Figma · Antigravity · Codex
Team
2 members (Dev, QA)
Status
1 active client

The business problem

  • Salons relied on manual CR books and Excel sheets to track visits, bookings and cash.
  • There was no system for keeping customer history, and reporting was too basic.
  • Owners had no security controls, so nothing stopped staff from changing prices or deleting visit records.

The solution

  • Treated it as a balance between speed and control.
  • Designed a digital visit form that is faster to fill in than writing with a pen.
  • Built a permission model that keeps the salon owner in charge of the data.

The impact

  • The first client has fully replaced their paper CR book with LevelUp.
  • Closing the day now takes 5 minutes.
  • Saving a new visit takes under a minute.

01 · Problem & scope

The book records the visit. It forgets the customer.

Walk into most neighbourhood salons and there’s a CR book at the counter. Staff write the name, the service and the price. At the end of the day the owner adds it all up, reads everyone’s handwriting and balances the drawer.

Today

Staff and owner do the work

  1. 02Customer arrives
  2. 03Haircut finished
  3. 04Open CR or Excel
  4. 05Write down details
  5. 06Owner checks the numbers
  6. 07Day’s income totalled

Proposed

The app does the work

  1. 01Customer name & mobile
  2. 02Add service
  3. 03Save visit and customer
  4. 04View dashboard, close the day

02 · The solution

From walk-in to today’s total.

The full LevelUp flow: customer lookup, service, save visit, owner dashboard

03 · Decisions

I made three calls, each one covering the costs involved. This is all about finding solutions and addressing the pain points.

01

The phone number is the customer record

Staff type a mobile number. If it’s a returning customer, their profile and history pop up. If it’s someone new, a profile is made with the visit, so the customer list keeps growing with no extra work.

The tricky case: some customers don’t have their own number, like a baby or a child getting a haircut.

How we handled it: we use the parent’s mobile number. The only field you must fill in is the service, so a visit never gets stuck.

New Visit screen: typing a name or number suggests matching customers
Customer Details screen: total visits, total spent and previous visits

02

The owner sets the prices

The owner can add services and set a base price without calling anyone, and can change these details at any time.

The tricky case: what if the owner changes a price in the middle of the day? Old visits shouldn’t suddenly show a different amount.

How we handled it: a new price only applies to future visits. Past visits keep the price the customer actually paid, so the day’s income stays correct.

Salon Profile screen: the owner’s services with base prices and active toggles

03

Booking works just like adding a visit

Booking a customer is the same as adding a normal visit. You just pick a date and a stylist. Staff already know the pattern, so there’s nothing new to learn.

The tricky case: a visit can be saved with just the service filled in, but a booking is for later. Without a name or number, staff won’t know who the booking is for or how to reach them.

How we handled it: for bookings, the customer’s name and mobile number are required. It’s one small change from the visit form, and it means every booking can be traced back to a real person.

New Appointment screen: booking date and time, assigned stylist, service selection
New Appointment screen: name and mobile number are required for a booking

04 · System & craft

What it’s built from.

The main components come from the Google design system, including cards and other common elements. I also designed the colour palette and typography.

UI kit: colour palette, typography and components

UI decisions

  • Dashboard with Today, Monthly and Custom tabs always visible

    Show tabs, keep key details visible

    Tab features should stay visible, because main actions can’t be hidden under filters.

  • Save Visit button and bottom navigation placed low on the screen

    One-hand use

    The main action sits low on the screen, where the thumb reaches easily.

  • Services section: a simple screen of tags and one add button

    Light pages

    Screens stay simple so they load on slow mobile data inside the salon.

  • Monthly income shown in rupees with large, aligned digits

    Clear numbers

    Prices use rupees and digits that line up, so totals are easy to check.

05 · Outcomes

Good UX should change
how the business works.

No maths

at closing. Today’s income is a live total of saved visits.

2 steps

to log a visit: number, service, discount, save.

Owner-only

prices and settings. Staff can’t change what they charge.

1 client

using LevelUp. The first salon has replaced its paper CR book.

06 · What I’d change

Three things I’d do differently.

Language

Owners spoke English, but the counter runs in Sinhala.

Salon owners were comfortable with an English interface, but daily staff needed Sinhala to work quickly without friction.

Design to Dev

Vibe-coding the first SaaS build took longer than planned.

Bridging design to production code on my own meant steep technical hurdles, and a full developer and QA audit before launch.

Reporting

Raw data tables needed plain-language summaries.

The analytics view is too complex for everyday owners, who needed monthly phone calls or salon visits to be walked through their numbers.

Feedback

Madura Witanage (Salon Madura)

“My staff no longer wait for me to return just to close the books and split daily shares. We save every client contact, track friend discounts, and if today’s revenue shows red against yesterday’s, the team stays late to beat it.”

Translated and summarised from verbal feedback given in Sinhala during an on-site salon visit.