Skip to content
M&O Solutions
← All work

In-house product, Israel · 2026

Booking Platform

A bilingual booking platform for nail, brow and grooming studios: customers book online in under a minute, and the owner runs the whole business from a phone.

Web appBilingualSMS automation
Industry
Beauty & grooming
Services
Product design, Web application, Automation
Stack
Next.js, React, TypeScript, Supabase
Booking Platform home page

The problem

Small beauty and grooming studios still run their diaries over WhatsApp and phone calls. Every booking is a back-and-forth, reminders are sent by hand or not at all, cancellations arrive at the last minute, and the owner spends evenings answering messages instead of resting. Generic booking tools are built for other markets: English-first, left to right, priced per seat, and unaware of how a one-person studio actually works.

The product had to feel native in Hebrew, work flawlessly on a phone, and let a customer book in under a minute with nothing more than a phone number. On the owner side, it had to replace the paper diary, the WhatsApp reminders and the notebook of who never showed up, without adding work.

What we built

We designed and built a multi-tenant Next.js platform, Hebrew-first with a full English mirror. Each studio gets its own page with its logo, cover, colours and contact buttons, and installs on a customer's home screen as its own app. Customers pick a service and add-ons, see only the times that genuinely fit, and confirm with a one-time SMS code. There is no password and no app to download. If a day is full, they can join a waitlist for it.

The availability engine works from working hours, breaks, vacations, buffers between appointments and the length of each service with its add-ons. It is time-zone correct through daylight-saving changes, and the database itself makes double booking impossible, even when two customers tap the same slot at the same moment. The owner chooses whether bookings are approved automatically, only for returning customers, or by hand, and sets how late a customer may cancel or move an appointment.

Every booking event writes its SMS messages in the same database transaction as the change itself, so nothing is ever lost or sent for a change that did not happen. A scheduler sends confirmations and reminders at the right time, holds messages during quiet hours, retries failures, and is built so that an uncertain send is flagged for the owner rather than sent twice. When an appointment is cancelled, everyone on that day's waitlist gets a link straight to the free slot. After a set number of weeks, customers who have not rebooked get a gentle reminder.

The owner runs everything from a phone: a day and week calendar with one-tap approvals, manual bookings, time off and vacations, a customer card with history, private notes and online-booking blocking, a dashboard of revenue, occupancy, cancellations and no-shows, and a log of every message sent. A private calendar feed puts the appointments into Google or Apple Calendar. Data from different studios is isolated at the database level with row-level security.

Stack

Next.jsReactTypeScriptTailwind CSSnext-intlSupabasePostgreSQLpg_cronTwilioZodVitestPlaywrightVercel

Result

A production platform where a new studio is set up in minutes, customers book themselves around the clock, and reminders, waitlists and rebook prompts run on their own, with the owner alerted only when something needs a decision.

Every booking rule, permission and message path is covered by about 500 automated tests across unit, database and end-to-end suites. It runs on free and low-cost tiers, and its only meaningful running cost is the SMS messages themselves.

Screens

Next project: Pninat Noam →

Have a project in mind?

Tell us what you need. We answer within one business day, and you will be talking to the people who will build it.