← Proposal summary← Summary
Vision · Lewisham · 2026

Frankstars Unisex Hair Express

Your chair.
Your rules.
Less phone.

A private booking intelligence layer for Frankstars — turning WhatsApp chaos into approve-ready proposals. Customers keep texting you. You stay in control. Nothing is booked until they say yes.

9:41

Frankstars Inbox

Tuesday · 4 requests need you

Sarah M. WhatsApp
Parsed · awaiting you
"Any chance tuesday after school for me n the boys?"
Proposed: Tue 2–5pm floating · 2 kids + adult
Marcus T. SMS
Awaiting customer
Sat 10:30 · proposal sent 2h ago

The opportunity

From scattered messages
to a calm command centre

Today

  • ✗ Messages across WhatsApp, SMS & calls
  • ✗ Mental juggling of slots all day
  • ✗ Families & latecomers add stress
  • ✗ Gaps in the chair you can't see
  • ✗ Phone checks between every cut

Tomorrow

  • ✓ One inbox — every channel unified
  • ✓ AI reads messages; you decide
  • ✓ Floating windows for flexible clients
  • ✓ Calendar shows gaps & families clearly
  • ✓ Two quick reviews: morning & evening

Design philosophy

Built for trust, not takeover

You approve everything

No automatic bookings. Every outbound proposal passes through you — approve, edit, or reject in seconds.

Customers say yes

A slot isn't allocated until the client confirms. A real handshake: your proposal, their acceptance.

Flexible when quiet

Off-peak floating windows let clients stay loose while you pack the day the way you want.

How it works

The booking state machine

Every request follows a clear path. You're never guessing where things stand.

Message
received
AI
parsed
You
approve
Proposal
sent
Customer
confirms
Allocated

Counter-offers loop back

"Can we do Wednesday?" re-enters your inbox — never silently rebooked.

Proposals expire

Ghost requests fade after 48h. Your calendar stays honest.

LLM reads, code schedules

AI understands messy text. Deterministic logic finds the slots.

Screen 01 · Inbox

Messy message in.
Clear proposal out.

The system reads Sarah's WhatsApp, spots two kids and a flexible Tuesday afternoon, and suggests a floating window — with her history ("often 10 min late") surfaced quietly.

Step 1 of 5 · Parsed → awaiting barber

Frankstars

Request · Sarah M.

WhatsApp · 14:02 today

State: parsed
"Any chance tuesday after school for me n the boys? Jayden n Marcus"
Understood: 1 adult + 2 children
When: Tue afternoon (flexible)
Duration: ~50 mins
Returning client Often late Family batch
Suggested: Tue 14:00–17:00 floating window

Screen 02 · You approve

One tap.
Proposal sent.

You tap Approve. The client gets a message in your voice — clear, warm, with a simple YES to confirm. Your work on this thread is done until they reply.

Step 2 of 5 · Proposal sent → awaiting customer

WhatsApp

Sarah M.

Thread · Frankstars

State: proposal_sent
Any chance tuesday after school for me n the boys?
14:02
Hi Sarah — I can fit you and the boys in Tuesday between 2–5pm. I'll message nearer the time with a slot. Reply YES if that works 👍
14:04 · Sent by you
⏳ Awaiting customer confirmation

Screen 03 · Customer confirms

They say yes.
Now it's allocated.

"Perfect" counts as acceptance. The booking moves to confirmed_floating — a soft window on your calendar, not a rigid promise you can't keep.

Step 3 of 5 · confirmed_floating

WhatsApp

Sarah M. · Allocated

Floating window confirmed

State: confirmed_floating
...Reply YES if that works 👍
14:04
Perfect 👍
14:18
Lovely — see you Tuesday. I'll ping you with a time on the day.
14:18 · Auto-ack
✓ Allocated · Tue 14:00–17:00 window

Screen 04 · Calendar

See your day
at a glance.

Fixed cuts are solid blocks. Floating clients are shaded bands — you pin them when you're ready. Tentative proposals show as dotted lines until the customer confirms.

  • Fixed & confirmed
  • Floating window
  • Tentative (awaiting YES)
Tuesday

Week view

3 confirmed · 1 floating · 1 pending

Tue 17 Jun 82% utilised
10:00
10:30
Marcus · fade
11:00
11:30
Dev · lineup
12:00
14:00
Sarah + 2 boys · floating
15:00
16:00
Tentative · Sat?
17:00
Walk-in block

Screen 05 · State machine live

Three requests.
Three states.

Parsed

Needs your decision

parsed
"Book me Friday 6?"
Proposed: Fri 18:00 fixed

Awaiting barberYou approve, edit, or reject

Proposal sent

Waiting on client

proposal_sent
Sat 10:30 for the fade. Reply YES to confirm.

Sent 2h ago · expires in 46h

Awaiting customerNot allocated yet

Allocated

Customer confirmed

confirmed_fixed
James K.
Wed 15:30 · 35 min
Skin fade + beard
✓ Customer replied YES

AllocatedFirm block on calendar

Edge case · Counter-offer

"Can we do Wednesday?"
Back to you.

Counter-offers never auto-resolve. The loop returns to your inbox as a new parsed request. You stay the negotiator — the system just keeps track.

Inbox

Counter-offer · James K.

Re-parsed from thread

counter_offer → parsed
Sat 10:30 — reply YES?
Can't do Saturday — Wednesday?
New proposal: Wed 16:00 fixed
Previous: Sat 10:30 (withdrawn)

For your clients

They keep texting.
Nothing changes for them.

No app to download. No account to create. Same WhatsApp, same you — just clearer, faster replies.

Message as usual

"Yo can I get a trim Saturday?" — that's it. No forms, no portals.

Clear proposals

They get a specific time or a flexible window. One word to confirm.

Coming later

Gentle reminders before their slot. If they miss it — next opening today, plus your best effort to still fit them in.

Frankstars Unisex Hair Express

The chair stays yours.
The chaos doesn't.

Start with a simple inbox: messages in, proposals out, confirmations back. Build utilisation without burning out — or burning clients.

91 Lee High Road · Lewisham · London
A vision for what's next