ARYAMAN.BUILD™
All work

(Case study · 07)

LUMA Business OS

LUMA Business OS owner dashboard: revenue, occupancy and branch KPI strip above a day schedule.

A four-branch salon business of this size usually runs on six disconnected tools: Instagram for leads, WhatsApp for chasing them, a paper diary for slots, a separate POS, Tally for GST, and one receptionist's memory for whether anyone came back. LUMA is what replacing all six with one spine looks like.

Built as a product design case study. Every record in the build — branches, staff, customers, GSTINs and amounts — is seed data written for the demo.

Role
Product design · Design system · Interface · Build
Year
2026
Type
Self-initiated
Built with
Vanilla JS · CSS · Hand-drawn SVG charts

(Why I made this)

What does it look like when six tools become one spine?

A four-branch salon business usually runs on six disconnected tools: Instagram for leads, WhatsApp to chase them, a paper diary for slots, a separate POS, Tally for GST, and one receptionist's memory.

Every name, number and amount gets typed again.

LUMA is my answer: one spine that carries a customer from an Instagram enquiry to a GST-compliant invoice without anyone retyping anything.

(The problem)

Six tools, one customer

Design hypothesis · drawn from the case study

  • Instagram
  • WhatsApp
  1. LeadLives in Instagram DMs
  2. Follow-upChased by hand on WhatsApp
  3. BookingA paper diary
  4. BillA separate POS
  5. GSTRetyped into Tally
  6. RebookingDepends on one person's memory

(What changed because of it)

Question, decision, screen

Design decisions · each is visible in the build

  1. Every tool kept its own copy of the truth.

    One piece of state flows through twelve steps; no screen owns its own copy.

    The whole journey

  2. The invoice is where GST mistakes cost money.

    Design the invoice first, because it's the hardest screen.

    Invoice

  3. Salons price with tax included.

    Work 18% GST backwards from the tax-inclusive price, with CGST, SGST and the SAC code.

    Billing & POS

  4. Money screens drown in cards.

    Whitespace, dividers, tables and compact KPI strips instead of cards everywhere.

    Every screen

(Information architecture)

Grouped by what the business is doing

The navigation follows the spine: the core flow first, then running the studio, then growing it, then looking back. These are the build's real sections.

LUMA Business OS

  • Core flow
    • Overview
    • Leads
    • Customers
    • Appointments
  • Studio operations
    • Services
    • Staff
    • Billing & POS
    • Inventory
    • Memberships
  • Growth & reach
    • Campaigns
    • Automation
  • Insights & setup
    • Analytics
    • Reports
    • Settings

(Flow)

One journey, from enquiry to rebooking

01 · A customer

  1. Instagram enquiry
  2. Lead
  3. Appointment
  4. Bill at the counter
  5. GST invoice
  6. WhatsApp receipt
  7. CRM record
  8. Rebooking reminder

(Values)

What I refused to compromise

(Mood board)

Dense, calm, and correct to the paisa

A violet for action on a soft lilac ground, with status kept to quiet tints: mint when money is settled, amber for a note. Charts are hand-drawn SVG, with no charting library.

Colours sampled from the product's screens

  • Action#6539C9
  • Ground#F5F3FB
  • Card#FFFFFF
  • Settled#E4F2EE
  • Note#FEF4E0
Taxable value, CGST at 9%, SGST at 9%, loyalty points
₹6,284 resolves to ₹5,325.42 taxable
Transaction, paid to, customer, branch, settled T+1
Where the money went, and when
Bharat UPI and GST validated chips
Validated, said once
  • Dense
  • Calm
  • Exact
  • Indian by default

(What I made)

Fifteen screens on one spine

I designed and built LUMA: fifteen screens and nine overlay states, from lead to rebooking, in two themes, with seed data written for the demo.

  • Leads board
  • Appointments
  • Billing & POS
  • GST invoice
  • WhatsApp receipts
  • Customer 360
  • Memberships
  • Hand-drawn charts
  • Two themes

The screens

Fifteen screens that carry one salon chain from an Instagram enquiry to a GST-compliant invoice without anyone retyping a name, a number or an amount.

(Up close)

The counter

LUMA's Billing & POS: a bill with taxable value, CGST and SGST, and a successful payment123456
  1. Each service carries its tax code, 999721
  2. Tax worked backwards from the tax-inclusive price
  3. CGST and SGST, each at 9%
  4. Payment method and GST validation, at a glance
  5. Settled T+1, to the right account
  6. The receipt goes on WhatsApp

(Testing)

Verified, not asserted

A harness walks all fifteen routes and nine overlay states at three widths and flags any element crossing its container. It caught two bugs that looking at the screens never would have.

Routes clean
15 of 15, at 380, 1024 and 1440
Overlays in bounds
9 of 9
Horizontal page overflow
Zero

(What I learned)

LUMA taught me to design the hardest screen first. Once the GST invoice was right, every screen before it knew exactly what it had to hand over.

Need something like LUMA Business OS?

Tell me what you want to build. I'll reply with how I'd build it, a rough timeline and a cost range. Free, and no obligation.

Next project

EchoFrame