WORK  /  DONE.
CASE / 01 · 2025
Service MarketplaceLebanon6 weeks · 0 → live
CLIENT
done.

We replaced WhatsApp threads with a regional booking platform.

Lebanon had no home-services infrastructure — just group chats and personal referrals. We built the full marketplace stack in six weeks: booking, provider operations, payments, and bilingual support.

PROJECT META
TYPETwo-sided marketplace
SCOPEWeb + ops console
LANGUAGESArabic (RTL) + English
TEAM2 eng · 1 design · 1 PM
LIVE SINCEMarch 2025
STATUSActive
TIME TO LIVE
6 weeks
From kickoff to first booking
BILINGUAL
AR / EN
RTL-first, fully localized
SERVICE CATEGORIES
14
From hair care to skincare
REGION
1st
Of its kind in Lebanon
[02]The shape of it

Problem, approach, result.

I · PROBLEM

A market the size of Lebanon was running its entire home-services economy through Instagram DMs, group chats, and word-of-mouth. Customers had no way to compare providers; providers had no way to schedule, get paid, or build a reputation; nobody had a record of anything. Off-the-shelf marketplaces don't ship with bilingual RTL support, local payment rails, or the operational layer needed to onboard a category from zero.

II · APPROACH

We treated this as a regional infrastructure problem, not a SaaS launch. Two parallel tracks: customer-facing booking flow (mobile-first, AR-default) and an internal dispatch console for the done. team to onboard providers, vet quality, and resolve disputes manually until volume justified automation. We shipped the dispatch console in week 2 — long before the public site — so real bookings could flow through Instagram DMs into a structured pipeline.

III · RESULT

done. went live in six weeks as the first nationwide home-services platform in Lebanon. The dispatch console replaced all WhatsApp ops within a month. Providers onboarded by referral now have ratings, structured payments, and recurring schedules. The booking funnel runs in Arabic by default, with English available without a layout reflow. The platform is live, growing, and the operational record now exists where it didn't before.

[03]What we shipped

The interface in production.

The dispatch console — where the done. team runs every booking from match to payout. Built first, before the consumer site, so real ops could begin in week two.

console.done.lb / dispatch
● LIVEBEIRUT 19:42
OPS
Dispatch
Bookings
Providers
Customers
Payments
REPORTS
Daily volume
Provider perf
SLA breaches
ACTIVE
127
TODAY
$4,210
PENDING
8
SLA RISK
2
#
PROVIDER · JOB
ZONE
ETA
STATUS
#8421Hassan A. · Hair careAchrafieh12 minEN-ROUTE
#8422Layla M. · ManicureHamraNowON-SITE
#8423Karim S. · Beauty servicesVerdun24 minACCEPTED
#8424Rana K. · Gel refill (recurring)Mar MikhaelTomorrowQUEUED
#8425Omar T. · Hair coloringSin el FilMATCHING
#8426Mona F. · Skincare facialAshrafieh45 minACCEPTED
JOB · #8421
Hassan Awad
Hair care · 4.9 ★ · 247 jobs
CustomerN. Khoury
AddressSassine Sq · 4F
Quote$48 — fixed
Booked viaAR · WhatsApp
Confirmed19:31
NEXT ACTION
Send arrival ping to customer

FIG. 01 / DONE.LB / DISPATCH — LIVE OPS CONSOLE

[04]System build

What we built.

The actual surfaces, services, and capabilities that ship.

MODULE / 01
WEB

Customer booking flow

Mobile-first PWA with full RTL support, in-flow scheduling, bilingual content, and Stripe + local payment rails.

  • Arabic-default with EN toggle
  • Provider browsing, reviews, recurring bookings
  • OTP login, no password friction
  • Receipts + branded confirmations
MODULE / 02
OPS

Internal dispatch console

The team's daily driver. Live job board, provider performance, SLA monitoring, payout management.

  • Real-time dispatch + ETA
  • Provider vetting workflow
  • SLA-breach alerts
  • Manual escalation queue
MODULE / 03
PROVIDER

Provider mobile companion

Each verified provider gets a focused mobile interface for accepting jobs, navigation, and payouts.

  • Accept / decline within 60s
  • Daily earnings + payout history
  • Customer rating + tip handling
  • Telegram-based on-call alerts
MODULE / 04
PAYMENTS

Local + Stripe rails

Multi-rail payment layer that accepts cards, OMT, and wallet top-ups — and pays providers reliably in a cash-mixed economy.

  • Stripe + local OMT integration
  • Wallet credit for repeat customers
  • Weekly automated payouts
  • Refund + dispute pipeline
[05]Timeline

From brief to live.

Wk 001/07
Kickoff & scope freeze
Two days on-site. Founder + ops team. Priority: dispatch console first.
Wk 102/07
Dispatch console alpha
Internal team onboarded with manual flow + console for tracking jobs from Instagram.
Wk 203/07
Provider onboarding flow
Verification queue, document review, structured profiles, bilingual onboarding.
Wk 304/07
Customer booking flow
AR-default funnel, scheduling, OTP login, payment intent.
Wk 405/07
Payments live
Stripe + OMT integration, payout pipeline, receipts, refund flow.
Wk 506/07
Soft launch · Beirut
Limited categories, ~80 providers, real customers, console-mediated.
Wk 607/07
National launch
Open registration, 14 categories, marketing live, ops fully on platform.
WORDS / 06 · CLIENT
Six weeks from a notebook of ideas to taking real money from real customers. The dispatch console is what changed the company — we stopped being a chat group and started being an operation.
Founder
DONE.LB · BEIRUT
STACK / 07
FRONTEND
Next.jsReactTailwindi18n (AR/EN)
BACKEND
Node.jsPostgresPrismaRedis
PAYMENTS
StripeOMT APIWallet ledger
INFRA
AWS · Beirut edgeS3CloudFrontSentry
[]Have a similar system to build?

Tell us
what's broken.

One scoping call, one written proposal. We'll be honest if it's not a fit.

Book an architecture call