Project Overview
LuxeBeauty came to us with a clear picture of what they needed: a mobile app where Bangkok users could find beauty services, book them without friction, and actually communicate with the salon or beautician directly rather than waiting for a callback. The market context mattered here — beauty booking in Bangkok is competitive, and users have high expectations for how a mobile experience should feel. The project was scoped as an MVP, which meant making deliberate decisions about what to build first and what to leave for later. Two months isn't long for a full booking platform with real-time messaging, so the team stayed focused on the core flow: discover, book, chat. Everything else came second.
Key Features
- Service discovery with browsable salon and beautician listings
- Detailed provider profiles with service menus and availability
- End-to-end appointment booking with management and scheduling
- Live chat between users and service providers built into the booking flow
- Mobile-first UI optimized for performance on real device conditions, not just ideal network scenarios
Technical Implementation
The app was built in React Native for cross-platform mobile delivery, with React powering any web-facing surfaces. Node.js handles the backend API layer, and PostgreSQL stores booking records, provider data, and user accounts with the relational structure that appointment management genuinely needs — scheduling and availability logic gets complicated fast, and a document store would have made that harder. Real-time messaging was implemented with delivery confirmation and fallback states so the chat experience stays reliable even when mobile network conditions aren't ideal. Booking UI flows were deliberately optimized for speed — fewer taps to confirm, clear feedback at every step, and no dead ends where users lose their place and have to start over.
Challenges & Solutions
Real-time messaging on mobile is straightforward until the network isn't — dropped connections, delayed delivery, and message ordering issues all surface quickly in real device testing. We built the messaging layer with delivery confirmation and clear fallback states so users always know whether a message was sent, pending, or failed, rather than staring at a spinner wondering what happened. Booking flows are another area where small friction points add up fast: one extra confirmation screen or an unclear error state is enough to make users abandon a booking. We mapped the core user journey down to the minimum number of steps and tested each transition on low-end devices to make sure nothing felt sluggish. Mobile rendering performance was tuned throughout — React Native gives you a lot, but image-heavy salon listings and real-time data need deliberate optimization to avoid jank on mid-range hardware.
Results & Impact
LuxeBeauty shipped as a complete, end-to-end booking MVP within two months — service discovery, appointment management, and live chat all working together in a single app. The real-time messaging layer in particular closed a gap that most booking platforms in the space leave open: users could actually talk to their provider without leaving the app or switching to WhatsApp. For an MVP, the scope delivered was broad, and the foundation is solid enough to extend with reviews, payments, or loyalty features without major rework.