Dual-Sided App · Marketplace + SaaS

Designing a booking app that protects the calendar.

Product Design UX / UI Design System AI Assistant 2026
GLAMIT business account screen in Hebrew: Galit Moran of Galit Nails, profit for August 2026 of 5,060 shekels before VAT and income tax with a plus 5 percent pill against July, income of 6,240 and expenses of 1,180 broken out beneath it, a row through to expenses and profit, and a list of account sections for personal details, the client list, the bank account, payment methods, bookkeeping and business settings.
GLAMIT sign-in screen in Hebrew: the wordmark on a soft gradient, a welcome line reading good to see you, a subtitle saying for clients and for businesses, an AI powered note about finding appointments and filling calendars, and sign-in by email, Google or Apple.
GLAMIT client home in Hebrew: a good morning Dana greeting, a search field with a camera icon, a location and filter row, four service categories in terracotta on tinted circles, and upcoming appointments with photos, addresses, times and a Book button on each.

GLAMIT is a dual-sided beauty app. One side is where clients find and book. The other is a smart business management system, where business owners run the calendar, the clients and the income, with an AI assistant working across both. I was the sole designer and owned both sides end to end, from the research to the design system that holds them together.

From the research

82%
Often look for an appointment today
92%
Re-fill a cancelled slot by hand
94%
Say a clear daily calendar is critical
89.7%
Need new versus returning at a glance

Survey of 60 clients and beauty business owners.


The Challenge

Time on one side, income on the other.

Client view

Urgent needs do not wait for business hours. A broken nail before an event, a fill that cannot slip another week. Finding availability on short notice means calling and messaging one business after another, and the answer arrives one reply at a time.

Business owner view

A last-minute cancellation is a hole in the day and in the month. Filling it means messaging regular clients one by one, hoping someone answers in time. Most owners do exactly that, and most of the time the hour stays empty.


Research

The same problem, seen from two ends.

I surveyed clients and beauty business owners separately, to check whether the two problems I suspected were in fact one. They were: the hour one client cannot find is the hour sitting empty in someone else's calendar.

For clients

82%Look for a last-minute appointment often
91%Want same-day or next-day availability as a filter
86%Want to see photos and work style before booking
80%Want location and price range as filters
76%Say seeing a portfolio before booking is very important

For business owners

92%Message clients manually when someone cancels
94%Say a clear daily calendar view is critical
89.7%Need to distinguish new from returning clients
87%Say seeing expected income by day or month is very important

From a finding to a feature

92% re-fill slots by hand
Slot recovery engine

The window opens on its own, and the assistant invites the clients who searched for it.

91% rank same-day first
Availability-first search

The feed opens on what is bookable now, and every result carries its nearest open hour.

94% need a clear daily view
The day, and what it earned

Appointments, revenue and costs share one day view, so the month adds up while it runs.


Competitive Analysis

Everyone fills the hour. Nobody asks who wanted it.

I benchmarked the Israeli beauty apps a business here actually runs on, the general scheduling tools around them, and the global marketplaces that share GLAMIT's model. The Israeli tools manage a calendar and stop there. The marketplaces do fill a cancelled hour, by notifying whoever joined the waitlist first. The question none of them asks is who was looking for that hour.

Capability Israeli beauty apps Calmark · Plannie · Pink Global marketplaces Fresha · Booksy · Treatwell GLAMIT What I designed
Both sides in one account One role Two separate apps ✓One account, one tap
Search by inspiration photo Absent Portfolio, one business ✓The photo is the query
Filling a cancelled hour Manual messaging Waitlist, first in line ✓Matched to who searched for it
The assistant's authority No assistant AI fills calendar gaps ✓Green, amber, red, set by the owner
Client history Client files Client records Automatic, on every candidate row

Who it's for

One app, two sides.

Two people, opposite sides of the same hour.

D
Dana, the client
35 · Rishon LeZion

A full-time job and three kids. She gives up appointments more often than she books them, because finding an open hour costs more time than the appointment does.

Drives the decision
Availability · Price · Proof of work
G
Galit, the owner
38 · Nail technician

Her day is usually full. A cancellation is not a free hour, it is income she has no time to chase. She wants the calendar updated in seconds, and then to get back to the chair.

Drives the decision
Simplicity · Automation · Reach

The AI assistant

The work is the assistant's, the decisions are the user's.

On both sides the assistant collapses multi-step work into a single action. For clients it turns a photo and a sentence into businesses filtered on style, area, availability and price, and surfaces an earlier opening when one appears with the reason it fits. For business owners it matches the clients whose recent searches fit a cancelled slot, compares takings across eight weeks to find the weakest day, and composes the outreach to a client who has stopped returning.

Each capability was classified before it was designed, by one question: what may it do without being asked. Anything reversible runs on its own, anything prepared for the user waits at the button, and anything that commits money or closes an appointment is the user's, including the appointments the assistant found itself.

A GLAMIT assistant insight card: Sundays are the weakest day, a reasoning line stating that eight weeks were checked and that Sunday averages 780 shekels while the other days are over 880, a line reading advice only with no promotion going out without approval, and a button offering to build a Sunday promotion.
Eight weeks checked, Sunday averaging 780 ₪ against over 880 ₪ on the other days. The button hands the owner a promotion to approve.
The GLAMIT assistant screen: a header card stating that it knows the calendar, the clients and the money, and that every action touching money stays with the owner; six tappable starter questions covering retention, drafting, scheduling, reporting and pricing; and an answer listing four clients who stopped returning with the date each one last booked, a line explaining that all four were regulars who stopped, and a note that every draft waits for approval before it is sent.

Design system

Two identities, one system.

Many GLAMIT users are on both sides of it, running a business in the morning and booking for themselves at night, one tap apart. So the color is orientation: one component set, one accent token, and a theme per side.

Client theme
accent = terracotta #A85F2E
זימון ציפורניים
Business theme
accent = indigo #3A3560
צפייה במועמדות תורים
Neutrals, shared by both sides
Text primary carries content. Everything lighter is structure.
Text primary
16151A
Text secondary
4A4C52
Text tertiary
6B6D75
Border strong
C4C4C9
Border default
E2E2E7
Surface
FFFFFF
Background
FAFAFC
Client side, terracotta
Warm, sparse, and the only accent a client ever sees.
Primary
A85F2E
Primary deep
6B3A18
Primary hover
C2773E
Primary tint
F7E8DA
Surface warm
FBF6F1
Business side, indigo
Denser information, cooler accent. The assistant’s violet is never an action colour.
Primary
3A3560
Primary deep
2E2A4D
Assistant
5B22C0
Primary tint
E7E0F7
Primary soft
EFEDF6
Semantic, shared by both sides
Saturated mid-tones are for icons and large text. Body text uses deep on tint, or white on deep.
Success
16A46B
Success deep
0F7A50
Success tint
E9F6F0
Danger
E23B3B
Danger deep
B3261E
Danger tint
FDECEC
Gold
E7A210
Gold deep
8A5D07
The rule that keeps it readable
Solid fill is action. Tint is state. Text is content.
Assistant, Regular and SemiBold
Ten tiers on two weights. Weight carries hierarchy, not just size.
H1
תור שהתפנה
32 / 40 · SemiBold
H2
שני דברים מחכים לך
26 / 34 · SemiBold
H3
מועמדות לתור שהתפנה
22 / 30 · SemiBold
Title
בנייה בג׳ל · 105 דקות
17 / 26 · SemiBold
Body L
בנייה בג׳ל · 105 דקות
17 / 26 · Regular
Subtitle
צפייה במועמדות
15 / 22 · SemiBold
Body
צפייה במועמדות
15 / 22 · Regular
Label
לקוחה חוזרת
14 / 18 · SemiBold
Caption
לקוחה חוזרת
14 / 18 · Regular
Micro
לפני 18 דק׳
12 / 16 · Regular
Spacing, on a 4px base
Ten steps, drawn here at true scale.
Hairline2
XS4
Icon to text8
Component12
Card padding16
Groups24
Screen margin32
Block48
Between sections64
Outer96
Radius, as a ladder that nests
Every container is one step rounder than what sits inside it, so nothing ever looks squeezed into its parent.
28  Section card, bottom sheet
20  Card, empty state
16  Tile, search field, list card
12  Button, input, business chip
8   Badge, segment inner
Pill  Toggle, client chip
Page rhythm, descending
Outer 96, between sections 64, section padding 48, internal 32, header triad 8.
Selected components
Button component on the business side: solid, outline and text variants, each in default, selected and disabled states, in indigo.
Button · Business
The same button component on the client side: solid, outline and text variants in default, selected and disabled states, in terracotta.
Button · Client
Business bottom navigation in four states, one per tab: business, calendar, chat and personal, with the raised violet assistant button in the centre carrying a green online dot.
Nav bar · Business
Client bottom navigation in four states, one per tab: search, calendar, businesses and personal, with the same raised violet assistant button in the centre.
Nav bar · Client
Segmented control with four segments, appointments, the day’s timeline, free windows and blocked time, shown with each segment selected in turn.
Segmented control
Appointment card: the service, the business, its address, a photograph, and a footer carrying the date and time beside a book button.
Appointment card
Switch component, on and off, in the business indigo and the client terracotta.
Switch
Radio button component, selected and unselected, in the business indigo and the client terracotta.
Radio

Feature spotlight · Business side

A cancellation, answered in minutes.

92% of owners re-fill a cancelled slot by messaging clients one at a time. So the empty hour carries a price on screen: a cancellation arrives as 180 ₪ lost and 105 minutes free, and the recovery engine starts from that number. It opens the window, finds candidates and explains each one. The owner picks. The owner confirms.

The recovery flow

Start / end Owner action ✦ AI step Decision System step
Appointment cancelled The slot is published 8 matched clients invited Replies land Opens the candidates Choose a candidate? Not now The hour stays open Choose Confirms the booking The others are told 180 ₪ back in the day

1 · Sign in

GLAMIT sign-in screen in Hebrew: the wordmark, a welcome line reading good to see you, a subtitle saying for clients and for businesses, an AI powered note, and sign-in by email, Google or Apple.
1
1
Subtitle
One door, two sides
For clients and for businesses, on the first screen.

2 · The dashboard

1
Business tab
One screen, no scrolling
Profit, the trend, what needs a decision, and today.
GLAMIT business dashboard in Hebrew: profit for August 2026 of 5,060 shekels, up 5 percent on July, with income of 6,240 against expenses of 1,180 and a five month bar chart pairing the two; a needs attention card carrying three items, a client tomorrow at 17:30 the assistant has marked as a cancellation risk, two clients waiting on a reply in chat, and a VAT filing due in fifteen days with three unreceipted expenses; and the day itself, two appointments worth 300 shekels.
1 2
2
Needs attention
What needs a decision, first
The app gathers it near the top, above today’s list.

3 · The morning

1
Assistant card
The window fills itself
Published, and 8 clients invited.
GLAMIT business calendar in Hebrew: a week strip, counters showing three appointments, 450 shekels of revenue and one cancellation, and an assistant card headed two things are waiting for you this morning, with the cancelled appointment, 180 shekels lost and 105 minutes freed, a line saying it filled the slot automatically by publishing it and inviting eight matching clients, two of whom have replied, and a button to view the candidates.
1 2
2
Assistant heading
Two things, not a feed
Only the flags that need the owner.

4 · Candidates

1
Summary card
Everyone else hears back
The rest are told the hour is taken.
GLAMIT candidates screen in Hebrew: a summary card saying the slot was published 18 minutes ago to eight matching clients and two have applied, ranked by fit, and that the chosen client will be confirmed while the others are told the hour is taken; then Yael Ohana marked returning client with six visits and no cancellations, and Shira Cohen marked new, each with a Choose button.
1 2
2
Status badge
Ranked, with a history
Returning or new, and why they fit.

5 · Filled

1
Assistant card
It keeps score
Three cancellations filled this month, 480 ₪.
GLAMIT confirmation screen in Hebrew: a green check, a line saying the appointment was booked for Yael Ohana today at 11:00 for a 105 minute gel build, a green note that 180 shekels are back in the day, a button to view the calendar, and an assistant card saying it has filled three cancellations worth 480 shekels since the start of the month and will keep watching for freed windows.
1 2
2
Confirmation line
The money, returned
180 ₪ back in the day, said plainly.

6 · The day, closed

1
Counter row
Back to zero
The day's cancellation count updates itself.
GLAMIT business calendar in Hebrew after recovery: the counters now read three appointments, 450 shekels and zero cancellations, and the assistant card is headed I closed the cancellation, one thing left, showing Yael Ohana scheduled with 180 shekels returned and the 11:00 hour taken, followed by Noy Shalom at 15:15 who has not confirmed and who cancelled twice in recent months, with a reminder button.
1 2
2
Second flag
One thing left
A client who cancelled twice, and a reminder ready.

Feature spotlight · Client side

From a photo to a booked chair.

76% of clients want to see the work before they book, and 91% want availability first. So the search starts with a picture already saved and ends at a chair bookable tonight.

The full user flow

Start / end Client action ✦ AI step Decision System step
Opens the app Sends a saved photo Businesses that match it Open one Pick a service Book, or keep looking? Keep looking Back to the results Book Pick a time Review the summary Pay Confirmed, in the calendar

1 · Home

1
Search field
The camera is in the search
A photo is a query, not a separate mode.
GLAMIT client home in Hebrew: a good morning Dana greeting, a search field with a camera icon, a location line for Rishon LeZion with a filter control, four service categories, and a nearby appointments list whose first card offers a classic facial today at 20:00 with a Book button.
1 2
2
Section heading
Tonight, first
The feed opens on what is bookable now.

2 · The ask

1
Progress card
It shows its work
Read the photo, filtered the area, checking today.
GLAMIT assistant chat in Hebrew: the assistant invites the client to describe what they want or send an inspiration photo; the client replies about a wedding tomorrow and needs the earliest appointment today, elegant and not too expensive, like the attached photo of almond nails; below, a progress card shows three steps, the photo read as short almond, businesses in Rishon LeZion filtered to that style, and a third step checking who is free today and at what price.
1 2
2
Client message
Asked in plain words
A wedding tomorrow, elegant, and this photo.

3 · The answer

1
Result card
A booking, not a lead
Every result carries its nearest open hour.
GLAMIT assistant results in Hebrew: the assistant states what it identified in the photo, short almond, natural tone and matte finish, and says it found two businesses that do this style ordered by who is free earliest; the first result card carries an 87 percent match badge, Galit Nails rated 4.8, a reason line about a similar elegant French style inside the requested price range, the nearest opening today at 16:00, and a Book button.
1 2
2
Match badge
The match, scored
87% against the photo sent, with the reason under it.

4 · The business

1
Profile header
What a client can check before booking
4.8 from 128 reviews, with work and reviews as their own tabs.
GLAMIT business profile in Hebrew: a cover photo, the Galit Nails logo, address and opening hours, contact icons, a 4.8 rating with 128 reviews and a fair price label, three tabs for services, portfolio and reviews, and a service list where hand gel manicure at 120 shekels for 60 minutes is selected and its whole row is tinted.
1 2
2
Tab bar
The portfolio is a tab
76% said past work decides it, so it sits beside the prices.

5 · Choosing a time

1
Step bar
Step 1 of 4
Four steps, and the current one is always visible.
GLAMIT booking step one of four in Hebrew: a progress bar, a card confirming Galit Nails and a hand gel manicure, the question when suits you, a July calendar with dots on the days that have availability and the second selected, and a free hours block for Thursday listing 16:00 selected under afternoon and 17:00 and 18:00 under evening.
1 2
2
Free hours
Only real openings
Three free hours, grouped by part of the day.

6 · Before paying

1
Warning band
The cancellation cost, up front
Under 24 hours means the full price, said before payment.
GLAMIT booking step two of four in Hebrew: a heading asking the client to check everything is right, a card with the business, the service, the date and the 16:00 time plus a map and address, an amber band warning that cancelling less than 24 hours before the appointment incurs the full charge, a total of 120 shekels, and buttons to pay or change the appointment.
1 2
2
Total row
Everything to check, in one card
Practitioner, service, duration, date, time, the way there, and the total.

7 · Payment

GLAMIT booking step three of four in Hebrew: a summary row for the booked service, an Apple Pay button, a saved credit card selected with an option to add another, digital wallet options for Bit, PayBox, Google Pay and PayPal, a secure payment note, the 120 shekel total and a confirm and pay button.
1
1
Digital wallets
The wallets this market already uses
Bit and Paybox beside Apple Pay, Google Pay and PayPal.

8 · Confirmed

1
Assistant card
Care after the chair
How to keep the work for three weeks.
GLAMIT booking step four of four in Hebrew: a green check, the appointment received message, a chip with the service, duration and 16:00 time, the business, date and price, a question asking whether to add the appointment to a personal calendar with add and not now buttons, and an assistant card with a maintenance tip about avoiding very hot water and wearing gloves so the gel lasts three weeks or more.
1 2
2
Calendar buttons
Added by choice
The choice to add it stays with the client.

9 · It stays with the client

1
Card footer
Two actions, on the card
Reschedule and cancel, where the booking is.
GLAMIT client calendar in Hebrew: a July month view with dots on the days that carry appointments and the second selected, then the appointments for that day, the first card showing the hand gel manicure at Galit Nails with its address, a warm footer band carrying the date and 16:00 time, a reschedule button and a cancel link, and a second card for a classic facial.
1

Beyond the appointment

Bookkeeping, inside the app.

Every two months the owner reports VAT, and every deducted expense needs a receipt behind it. The app already knew what the business earned, so I decided it should hold the expense side too. Now the whole period is handled in one place.

The screen opens on where the period stands, both sides of the ledger at once, so the owner knows what is settled before doing anything. Below it an expense can be added, what still needs attention appears with its cost and its deadline, and the VAT owed sits beside the two amounts it came from.

The period arrives already assembled, which is where the time is saved. Attention goes straight to the part that still needs a decision, and from there it can be closed and passed to the accountant.

The bookkeeping screen for a two month reporting period, showing the client receipts that were issued automatically, the supplier receipts still to be filed, a card for the expenses missing a receipt, the VAT owed with the amounts collected and paid beside it, recent transactions and suppliers.

The sheet opens over the screen underneath, so the owner keeps their place while checking it. It describes the bundle before anything is sent: how many documents, the single file they gather into, and how they split between clients and suppliers.

It also says the period locks and can be sent again at any time. Saying so at the moment of commitment is what makes the last step easy to take. Sending is the only filled action, and keeping a copy sits below it as a quiet link.

A sheet over the bookkeeping screen confirming the period is prepared: the documents gathered into a single summary file, a button to send them to her accountant, a note that the period is locked but can be sent again at any time, and the option to keep a copy on her device.

The same system, wider

The owner's side, on a desk.

A nail technician works from a phone. A salon owner with three chairs and a bookkeeper works from a desk. Same tokens, same components, same assistant, laid out for 1440: the bottom bar becomes a sidebar, and the raised AI action moves into it and keeps its violet.

Three screens, enough to prove the system carries. Not a second product.

app.glamit.co.il / calendar
GLAMIT calendar on desktop in Hebrew: a right-hand sidebar for business, calendar, chat and personal with a violet ask the assistant action pinned at its foot, the day's hours, counters for appointments, revenue and cancellations, three appointment rows carrying status, and a month grid beside them.

The day and the month sit side by side instead of one under the other, and the appointment rows keep the phone's status badges and the assistant's line about the cancellation.

app.glamit.co.il / expenses
GLAMIT expenses and profit on desktop in Hebrew: four KPI cards for profit of 5,060 shekels up 5 percent on July, income of 6,240 across 34 appointments, expenses of 1,180 at 19 percent of income, and 27 returning clients; a donut of expenses by category beside income broken down by service; a receipts card flagging three expenses without one and 40 shekels of VAT to reclaim; and the assistant proposing a price update for the fill service with the market range it read, marked advice only.

The KPIs answer whether the month is fine, the charts answer why, and the card points at what needs attention. The assistant reads the same numbers and advises on the business.

app.glamit.co.il / assistant
GLAMIT assistant on desktop in Hebrew: the same six starter questions, the answer listing four clients who stopped coming with their last visit dates, the reasoning line, a note that every draft waits for approval, and a message field along the bottom.

The assistant keeps its own entry point rather than becoming a widget in a corner. Same six questions, same answer, same line about drafts waiting for approval.

Want to hear more?

Happy to walk through the decisions, what each one cost, and what I'd change if I built it again.