Solomon Adeoye
Solomon Adeoye
Solomon Adeoye
In production · Customer mobile app
Find a nearby professional, book a slot, walk in with a ticket.
KloneNov 2024 – Present
Status
Role
Built with

Screenshot 01
1 / 11
I build and maintain Klone’s customer mobile app: browse without an account, book a professional in a few screens, pay in-app, and show up with a QR ticket.
The iOS and Android customer app for Klone: discovery, booking, payments, and tickets for salons, spas, and other lifestyle services in Lagos.
Breakdown
Klone is a Lagos booking marketplace for personal-service businesses (hairdressers, barbers, spas) still taking appointments over calls and WhatsApp. Customers needed a phone-native path: find someone nearby, pick a service and a professional, pay, and walk in with a ticket. The web product already covered that flow in a browser; this app had to feel like the thing you actually keep on your home screen.
Browse had to work before sign-in. Account, bookings, and checkout could wait until the customer was ready to commit.
Home and Explore are location-aware: GPS first, with a pin search when that is off, so listings, distance, and prices match where the customer actually is. Category search, rating and price filters, provider pages with availability and reviews, then a short book: service, professional, date, checkout. Favourites and a referral code sit on the home screen.
Checkout is two steps: order summary (fees, duration, professional), then payment. In Nigeria that is full payment or a 20% reservation deposit; UK customers can pay by bank transfer. Google and Apple sign-in sit next to email when the guest path hits a wall. Built in React Native and TypeScript, with NativeWind, TanStack Query, Zustand for the in-progress booking, and React Navigation for the stack and tabs.
The guest path had to stay open without leaking booked state. Home, categories, and provider pages are public; Bookings, Profile, and checkout ask for an account, then return the customer to the screen they were on, including mid-book.
Availability, payment, and the ticket have to agree. A slot is held, payment confirms it, and the QR the customer holds has to match what the merchant scans. Location is never a single source: GPS, a search pin, and “use current location” all feed the same market context, or the catalogue fails silently.
Live on the App Store and Google Play alongside useklone.com, in daily use as the customer half of the same booking system.