Refill business guideEngineering guide →

Fynd × NMIMS Hyderabad · case C29 · for the MBA team

Refill

An empty chair is money walking out of the salon. Refill gives a cancelled slot to the next waiting customer who fits it, only messages people who said yes, and never books two people into one chair.

Try it in two minutes

  1. Open the link and press "Open today’s book". You are the owner of Kesar Salon (invented).
  2. Tap any future appointment and press "Customer cancelled". The gap glows.
  3. The right side shows who on the waitlist fits, and who is skipped and why.
  4. Press "Send offers". Open an offer on your phone with the QR code.
  5. Tap Book on your phone. Watch the desk update. Try "Two phones, one slot".
  6. Try "Stop messages" on the phone. That customer is never messaged again.

On a phone, the app can be installed: browser menu → "Install app" or "Add to Home Screen".

How you are scored

Rubric rowPtsWhat judges look for
Customer and choice15One clear customer and payer, and why this is the right opportunity.
Business model and unit economics20Price, cost to serve, contribution per location, base and downside case, every number labelled.
Growth plan and experiment design15A 30-day plan with a success threshold and a stop rule; the five-role-player experiment run and recorded.
Product direction and delivered change20One change you asked for, that engineering actually shipped, with before and after evidence.
Negotiation, recruitment and team building15A log of what you asked, offered, countered and agreed, including how you joined this team.
Pitch and defence10Six slides, four minutes, then three minutes of questions.
Contribution and conduct5Each of you answers one question about your own work.

Judges compare what you inherited with what changed because of your decisions. A polished product does not earn business points on its own. Your choices do.

What the product does today (version 1)

For the owner

The desk

Today’s appointments per stylist. Mark a cancellation; the app says how much notice was given (under two hours is "late"). It lists who fits the empty slot, who does not and why, and sends offers only after the owner approves.

For the customer

The offer page

A short message on the phone: the slot, the stylist, the service and price. Book, Not today, or Stop messages. If someone else booked a moment earlier, it says so and the customer keeps their place in the queue.

Trust

Consent and evidence

Every customer’s consent is yes, no or "not asked". "Not asked" is never treated as yes. Every action is logged with a reason and can be exported for the owner, or for an auditor.

The gap you can negotiate

The case card says your change is: "add service-duration and staff constraints before outreach." In version 1 the app knows how long each slot is and what kind of service it was booked for (hair, nails, skin). It does not yet know which stylist is actually in today, or that a stylist who does hair can also do a facial. So:

Check this yourself in the app, decide whether it matters to a real owner, and then ask for it (or for something better) through a GitHub issue. Engineering will reply with scope, an offer or a counter-offer.

The market, in numbers you can defend

All figures below are secondary sources or assumptions. Quote a number only with its source, or mark it "unverified".

How often chairs go empty

Competitors (your research, plus Indian players)

ProductWho it is forWaitlist todayPrice as given (verify)
MangomintMid-to-large salons and spasExpress booking, virtual waiting room$165–375/month by team size
VagaroMulti-staff salons, barbersWaitlist tracking, email/SMS add-onsFrom $30/month per calendar
FreshaIndependent stylists, salonsSelf-booking, reminders, marketplaceLow base plus transaction and message fees
Zenoti (Hyderabad)Chains and enterpriseAutomated waitlist managementCustom pricing; one anecdote ~₹15k/branch/month
Dingg, Zylu, SalonistIndian salonsBooking and CRM suites~₹1.5–3.5k/month (Dingg, vendor blog); Zylu $19–249
TutorBird, CalendlyTutors, general bookingMake-up slots on a portal; weak backfill$10–30/seat

So the pitch cannot be "we have a waitlist". Several do. Ours: the app checks consent, length and staff before any message, shows why each person was skipped, never double-books, and costs a flat fee per location rather than per seat.

Consent is a selling point

Meta requires opt-in before business-initiated WhatsApp marketing messages. India's DPDP Act expects consent that is explicit, recorded and easy to withdraw. Refill records who said yes, when and how, and honours STOP at once. For an owner, that is less risk of a blocked WhatsApp number or a complaint.

Numbers you need to build

Fill Templates/Unit_Economics.csv (Item, Unit, Base, Downside, Source or status, Formula). A starting structure:

Recovered revenue / month = refillable cancellations per week × share Refill fills × average ticket × 4.3
Variable cost / month = offers sent × cost per message + support minutes × cost per minute + hosting share
Contribution / month = price − variable cost
Payback (months) = onboarding cost ÷ contribution
InputWhere to get itMark as
Refillable cancellations per weekAsk 2–3 salon owners or reception staffobserved (if asked) / assumption
Share Refill fillsYour role-play results; then a pilotassumption until piloted
Average ticketSalon menus (our demo uses ₹500–4,500)source: link
Cost per WhatsApp messageMeta's published India ratessource: link, or unverified
Price per locationYour decision, anchored to recovered revenuehypothesis

Rule of thumb to test, not a fact: if one refilled slot is worth about ₹800, filling two or three a month pays a modest monthly fee. Your job is to find out whether owners agree.

The growth experiment on the card

"Test opt-in waitlist messages with five consenting role players. Record who was approached, the response and what would count as a useful result."

  1. Before you start, write down what counts as a useful result (for example: at least 3 of 5 book within two minutes) and what would change your mind.
  2. Five teammates act as customers (label it as role play). Each gets an offer on their phone from the live app.
  3. Record: who, time sent, what they saw, what they did, how long they took.
  4. Include one who says STOP and one who is too slow, so you see the full journey.
  5. Chirag from engineering logs each session in docs/ROLEPLAY_LOG.md; you write the conclusions.

9 AM market shock: think through all four tonight

If the shock is…Trade-off to discussBusiness consequence to quantify
Late cancellationOffer it urgently and accept a lower fill rate, or charge a late feeRevenue still recoverable vs fee income vs customer goodwill
Staff absenceMove their bookings to other stylists, or cancel and refill laterLost revenue per absent stylist-day; why staff-aware matching matters
Different service durationNever squeeze a longer service in, or offer shorter services onlySmaller tickets refilled vs empty chair
Consent withdrawnRespect it instantly, even mid-offerCompliance risk avoided; trust as a selling point

How to request a change (no coding)

  1. Make a free GitHub account if you do not have one.
  2. Open github.com/sirgreaseball/refill → Issues → New issue and pick MBA product request.
  3. Fill in: the problem, your evidence, the change (must-have vs nice-to-have), how we will verify it, the business reason.
  4. Engineering replies on the issue with scope, an offer or a counter. Agree there; that thread is your evidence.
  5. Log each step in Negotiation_and_Transfer_Log.csv.

Six slides

  1. The customer and the problem: an empty chair is lost revenue.
  2. The product, and the change you negotiated, before vs after.
  3. Price, cost to serve and unit economics, base vs downside.
  4. Evidence: interviews or role play, separated from assumptions.
  5. The 30-day growth plan with a success threshold and a stop rule.
  6. Market-shock response, risks, and the next test.

Synthetic demo. Kesar Salon and every person in it are invented. No real message is ever sent. Engineering guide