A few weeks ago I was searching for a kids' barber in Tashkent. Google Maps showed me plenty of barbershops but not every barber cuts kids' hair, and there was no way to tell which ones do. No websites, no service lists. In Uzbekistan that information lives inside Telegram channels and Instagram DMs. To find out, you'd have to message every shop and wait.
That's how I found Black Shark: 4.9★, 89 reviews, the best independent shop in its neighborhood and its entire online presence was a bare Telegram link. Every booking was a DM. Miss a message, lose a client. Meanwhile the big chains here have booking apps.
Telegram is a great messenger. It was never a booking system.
🌐 Trilingual site (RU/UZ/EN) — instant language switching, real prices from a live database, dark mobile-first design
📅 Full booking system — 4-step wizard, per-barber schedules, real-time slot availability, double-booking blocked, "any available barber" auto-assign, Google Calendar + Telegram deep-link confirmations
👥 First-ever CRM — every booking auto-builds a client record: visits, contacts, history
🔔 Automation pipeline — instant multilingual confirmations, owner alerts, next-day no-show reminders (≈1 in 5 bookings no-show — every reminder is recovered revenue), 2-hour escalation flags, all logged in a notification center
⭐ Review engine with smart routing — 4–5★ clients → Google Reviews; 1–3★ → private feedback that alerts the owner before it becomes a public 1-star. Printable QR card for the mirror.
🤖 AI Superagent — answers AND completes bookings in Russian, Uzbek, or English, with live prices and availability, saved chat history, confirmation cards in-chat. A 24/7 receptionist that never leaves you on "seen."
📊 Admin dashboard — live booking timeline, one-tap confirm/complete/no-show, win-back list for lapsed clients (5+ weeks = one haircut cycle), revenue and growth stats
Before: just a Telegram chat. Invisible on Google, bookings buried in DMs, no client records, no reminders.
After: a trilingual website with online booking, automated reminders, a review engine, a client CRM, and a 24/7 AI receptionist.
The problem: Marta handles every booking, message and schedule change herself, so even a simple customer enquiry can turn into hours of manual work.
The build: KUDLA is an AI-assisted booking and studio management system designed around how a solo groomer actually works.
Instead of a traditional booking form, clients simply chat with Pip. They can send a photo, describe what they need, get an estimated duration and price, see only the available slots that fit, and confirm the appointment — with no extra work for the owner.
On Marta's side, Pip handles the follow-through: rescheduling, client communication, filling cancelled slots and keeping a record of every message. Marta stays in control and approves changes before anything is sent.
❗ The system also reflects a reality specific to running a business in Kyiv. When an air-raid alert interrupts the day, Marta can pause the schedule, prepare the right messages for affected clients, and rebuild the remaining appointments around the time left — including prioritising an animal whose groom was interrupted.
KUDLA isn't another calendar. It's an AI layer that helps a one-person studio keep running when the owner is busy — or when the day doesn't go to plan.
Maya Ellis braids hair out of Suite 14 in Decatur, Atlanta. She's made up. Her problem isn't.
A knotless set can take 8 hours. While her hands are in someone's hair, her DMs fill up with "how much for knotless?" By the time she replies, half of them have booked somewhere else. And about 1 in 4 bookings without a deposit never show.
For the Lovable challenge, I rebuilt the inquiry-to-booking flow so Maya doesn't have to touch it.
How it works:
→ Two ways in from her bio link: chat with an assistant that answers price and time questions and books you, or tap straight through
→ Price, time in chair, and deposit shown before any times
→ Only start times where the full style actually fits
→ Deposit locks the slot, and the confirmation email goes out instantly
→ Every conversation lands in a leads tab, tagged booked or not booked
→ Cancelled slots go to the waitlist
→ Sick day? One tap moves every affected client
→ Daily cap on long styles, so her wrists last the week
Oak & Razor - Automated Booking for a One-Chair Brooklyn Barbershop
One-line description: Oak & Razor turns haircut inquiries into confirmed bookings automatically, handling realtime availability, reminders, self-service changes, and cancellation recovery for a busy solo Brooklyn barber.
Oak & Razor is a fictional premium one-chair barbershop in Brooklyn operated by Marcus, a solo barber who needs to spend his day cutting hair—not answering booking texts, confirming appointments, chasing customers, or trying to refill last-minute cancellations.
The problem I focused on was the exact moment the challenge describes:
“Can I book with you?” → “You’re booked.”
The experience is designed to make that transition happen with as little owner involvement as possible.
The business scenario
Oak & Razor operates Tuesday through Saturday from 9 AM to 6 PM. Marcus works alone, takes a daily break, needs cleanup time between customers, deals with busy days and no-shows, and previously had to manage scheduling conversations manually.
The booking engine therefore reflects actual business constraints rather than acting like a generic calendar:
- Signature Haircut — 30 minutes
- Haircut + Beard — 45 minutes
- Premium Experience — 60 minutes
- 10-minute cleanup buffer between customers
- 60-minute minimum notice for same-day bookings
- Daily break
- Owner-created blocked times
- Existing appointments
- Waitlist holds
- Business closing time
Automated customer booking
Customers can see real availability, select a service, choose a valid appointment time, provide their contact information, and confirm their appointment without Marcus being involved.
For returning authenticated customers, contact information is automatically reused so booking another appointment requires even less effort.
Availability updates in real time. If another customer takes a slot or Marcus creates an appointment or blocks time, that slot is removed from other customers' calendars without requiring a manual refresh.
The system also performs a final availability check when the customer confirms, reducing the risk of double booking.
Customer self-service
Booking is only the beginning of the workflow. Customers can access My Appointments and manage their relationship with Oak & Razor themselves.
They can:
- view upcoming appointments
- confirm appointments
- reschedule
- cancel
- view past appointments
- manage waitlist entries
- see booking-related notifications
- receive 24-hour and 2-hour reminder states
This removes many of the calls and messages Marcus would otherwise need to handle manually.
Cancellation recovery and waitlist
The waitlist is designed around one of Marcus's most expensive problems: an appointment cancels, but Marcus is too busy to find someone to fill the chair.
When a matching opening becomes available, Oak & Razor can:
Cancellation → recalculate availability → match waitlist customer → offer slot → hold it temporarily → customer claims → new booking confirmed
That transforms a cancellation from owner busywork into an automated recovery workflow.
If nobody is waiting, the valid opening simply returns to public availability.
Owner experience
Marcus has a protected Owner Console where he can see the business without having to manage every transaction manually.
The dashboard includes:
- appointment ledger
- booked revenue
- remaining appointments
- completed appointments
- waitlist status
- appointment confirmation states
- blocked times
- future-date navigation
- Add Appointment
- Block Time
- Needs Attention
- automated activity
The design intentionally separates things Marcus must handle from things Oak & Razor already handled automatically. Instead of forcing the owner to monitor every booking, the product aims to surface exceptions.
Business controls
Marcus can configure operational rules such as:
- business hours
- cleanup buffer
- same-day notice
- daily break
- waitlist behavior
- reminder schedule
Those settings directly affect customer-facing availability.
Authentication without booking friction
Customers are not forced through a complicated signup process just to get a haircut.
They can book with their contact details, while lightweight customer authentication allows returning customers to access appointments and notifications securely.
The owner has a separate protected account and Owner Console.
This keeps the customer experience simple while making the application feel like a complete operational product rather than a static prototype.
Brand and craft
I designed Oak & Razor to feel like a real premium Brooklyn barbershop rather than a scheduling SaaS template.
The visual system uses:
- dark wood and barbershop photography
- cream, black, and orange
- bold editorial typography
- scissors branding
- appointment-ticket-inspired components
- consistent buttons and interaction states
- responsive customer and owner experiences
The public site combines the real-world brand with the automated booking system instead of treating them as separate products.
How it addresses the evaluation criteria
Problem-solving impact: Oak & Razor handles the complete journey from finding availability to confirming and managing a booking. It also addresses cancellations and no-show-related workflow rather than only building a calendar.
Owner-effort reduction: Customers perform booking, confirmation, rescheduling, cancellation, and waitlist interactions themselves. Realtime availability and automated booking state changes reduce the amount Marcus has to coordinate manually.
Craft & execution: The project combines customer booking, authentication, customer account management, owner tools, configurable scheduling rules, realtime availability, waitlist behavior, reminders, and a cohesive barbershop visual identity.
Storytelling: The before-and-after is simple: Marcus previously had to stop cutting hair to manage scheduling conversations. With Oak & Razor, the customer can go from “Can I book?” to “You’re booked” without Marcus putting down his clippers.