The problem
The chair was busy. The books were not. Jobs lived in a notebook, expenses in a chat, and “what does Ahmed take home?” was a monthly argument. Commission, salary, and an optional shop levy all meant different things in different shops. A Super Admin still needed plans and quotas without becoming IT for every salon.
The approach
We designed for today first: clock in, log the haircut, log the expense, see earnings and net before close. Pay rules are shop settings, not a spreadsheet the owner redoes at night. Workers see their jobs and their share. Owners see the shop. Super Admin sees plans, not every rupee.
The solution
A Next.js app on Postgres: shops, workers, services, jobs, expenses, attendance. Commission splits (and levy-then-split) are calculated in one place so a Rs 300 haircut doesn’t get three different answers. Monthly salary shops keep job cash in the till and show salary on the statement. Auth is JWT over REST so a Capacitor Android/iOS shell can reuse the same API. Trial shops hit a daily action quota so the plan means something.
The result
The owner opens Today and sees the day — not a reconstruction. Workers clock in and log jobs without touching the owner’s ledger. Plans and quotas keep the multi-tenant layer honest. The shop still cuts hair. The software finally counts it the same way twice.
