With personal care industry in its digital adolescence, leading hair salons, hair stylists, and beauty professionals are rushing to reach users where most of their attention is – their mobile phones. With a whopping 3.5 hours of average time spent on smartphones, beauty professionals like our client, wanted to make it convenient for customers to efficiently use their services and get the attention back to personal care.
Open Chair started out as a platform to book appointments and pick hair styling services, from local salons conveniently through an app. Through the ideation and strategy process, the app evolved to provide customer-oriented, personalized functions that enable users to inquire services, select prices and personally engage with the beauty professionals for a true on-demand salon experience.
UI/UX, iOS App, Backend Development
Our system architects and iOS developers researched on the scalability and load requirements of the platform using the project demographics to best determine the backend and native technologies.
Frontend native code was developed using Model, View, Controller architecture for the design integration using the Swift 5 programming language.
For complex system requiring ACID / relational database with non-realtime chat components, Laravel 5.8 framework was selected for server-side development.
We relied on MySQL 5.7 for RDBMS which works fluently with Laravel and has a great community support. Split payment requirements were fulfilled by Stripe.
The challenge was to actively split customer payments to go to the client and the hairstylist.
We focused on Stripe Express Payment services to enable this feature which required library add-ons on frontend and token management on the backend for secure financial transactions.
Midway through the development, a new request from the client of reusing the historical bookings, made a conflict within the DB resulting in current inquiry and payment duplication. We overhauled the DB system to eliminate database issues for editing previously used dates and primary id in the database.