SaaS · Featured · 2024

Leadly.

Bookings without the back-and-forth.

RoleFull-stack engineer
ShippedMay 2024
StackNext.js · React · TypeScript +5
abdelmaksoud.dev
presents
Admit one
leadly.sa
Leadly

Act I

The challenge

Small Saudi businesses live on WhatsApp and book by DM, which falls apart the moment they get busy. I had to give each of them a branded, fully Arabic storefront where customers book real time slots themselves, then close the loop automatically with WhatsApp confirmations and reminders, without asking the owner to learn anything new.

Act II

What I built

A fully Arabic, right-to-left booking platform for Saudi service businesses. Each business gets a branded storefront at leadly.sa/[name] where customers book live time slots on the web; WhatsApp is the notification channel that closes the loop with confirmations and reminders.

Intermission, the demo

The product, playing itself

تم تأكيد حجزك ✓ الخميس ١٠:٣٠ صباحاًon booking · auto
تذكير: موعدك غداً ١٠:٣٠ صباحاً, للتعديل أو الإلغاء: go.leadly.sa/x7f224h before · auto

outbound WhatsApp automation, a confirmation on booking and a 24-hour reminder, each carrying a no-login manage link; the booking itself happens on the business’s Arabic storefront

The cast

What actually makes it work

Read the card, then flip it to watch the mechanism run.

0x01

Availability engine

Per-practitioner weekly hours (UTC→Riyadh) merge with existing appointments and feed a slot calculator over a rolling three-month window with a min-lead-time cutoff; booking is one transactional RPC.

how it works

Availability engine

0x02

WhatsApp lifecycle automation

A scheduled Edge Function scans the next 24 hours, mints Short.io links to a no-login manage page, and dedupes on a reminder-sent flag, all behind per-business toggles.

how it works

WhatsApp lifecycle automation

0x03

Multi-tenant white-label theming

A storefront resolves by slug, injects the business’s brand colors as CSS variables, and renders fully RTL with dual Hijri and Gregorian dates.

how it works

Multi-tenant white-label theming
Open live Open in Figma