Rafet - Salon & Barbershop Booking
Overview
Rafet lets customers in The Gambia find nearby barbershops, salons, braiders and nail studios, pick a service, staff member and time slot, and book in a few taps. Shop owners and staff run their day from a separate business app with a calendar, walk-ins, staff hours and permissions, while a platform admin app handles verification and moderation.
The Challenge
Most salons and barbershops in The Gambia take bookings by phone or WhatsApp, which leads to double bookings, no-shows and long waits. Customers have no easy way to discover shops near them, compare services and prices, or see when someone is actually free.
The Solution
Built a Turborepo monorepo with a NestJS API on PostgreSQL with PostGIS and Redis, two Expo apps (customer and business) and a Vite + React admin app. Shared packages hold the zod schemas, money, phone and time helpers, a typed API client with React Query hooks, and a mobile design system. Availability is computed by a slot engine backed by a database exclusion constraint so two people can never book the same slot.
Screens
Customer app



Business app




Outcome
The MVP covers the full booking loop: phone OTP login, nearby and filtered search, booking, rescheduling, check-in, no-shows and walk-ins, with push notifications, SMS fallback and 24h/2h reminders. CI runs type-checks, unit tests, API end-to-end tests and builds on every push.
Key Results
Tech Stack