Inspiration

Hair salons often juggle multiple tasksโ€”managing appointments, customer profiles, services, staff, and product sales. However, most CRM solutions on the market are either too generic or too expensive for small to mid-sized salons. We were inspired to build a tailored Hair Salon CRM All-in-One Mobile App that streamlines salon operations with a seamless blend of CRM, POS, and eCommerce functionalitiesโ€”all powered by Vendureโ€™s robust API.


What it does

Our app is an all-in-one mobile solution for hair salon owners and staff. It enables:

  • ๐Ÿ“… Appointment Booking with time-slot management and staff assignment
  • ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Customer Relationship Management with profiles, preferences, and visit history
  • ๐Ÿ’‡ Service Management including categories, prices, and durations
  • ๐Ÿงด Product Sales & Inventory integration via POS and eCommerce
  • ๐Ÿ’ต POS Integration with walk-in checkout, order history, and payment tracking
  • ๐Ÿ“Š Dashboard & Reports with sales data, bookings, and performance metrics

- ๐ŸŒ Multi-language Support (e.g., English, Vietnamese) for a broader audience

How we built it

Tech Stack:

  • Frontend: React Native + Expo + Nativewind + ShadCN
  • State Management: Zustand + React Query
  • Form Handling: React Hook Form + Zod
  • Type Safety: GraphQL Codegen with TypeScript
  • Backend: Vendure (Headless eCommerce API) with custom plugins for:
    • User roles (Stylist, Admin, Front Desk)
    • Booking system
    • Service management
    • POS API endpoints

We designed the app with mobile-first usability in mind, making it fast and intuitive for staff to navigate even during peak hours.


Challenges we ran into

  • ๐Ÿงฉ Customizing Vendure for booking and service management was complex and required plugin development.
  • ๐Ÿ”’ Multi-role authentication and permissions had to be built carefully to separate admin and stylist views.
  • ๐Ÿ“ฑ UI optimization on mobile devices for different roles and flows (e.g., quick bookings, fast checkout).
  • ๐ŸŒ Real-time sync between bookings, product inventory, and POS without performance issues.

Accomplishments that we're proud of

  • โœ… Seamlessly integrated a complete booking + CRM + POS system into a single mobile app.
  • โš™๏ธ Developed custom Vendure plugins for appointment and stylist management.
  • ๐ŸŽจ Created a beautiful and functional mobile-first UI using ShadCN and Nativewind.
  • ๐Ÿ“ˆ Built real-time analytics and reporting dashboards for salon owners.
  • ๐Ÿ”’ Delivered a secure and scalable architecture with multi-role support and clean API integration.

What we learned

  • Vendure is powerful and flexible, but customizing it for non-eCommerce workflows (like bookings) requires a strong understanding of its plugin system.
  • Combining POS and CRM features into one mobile app is feasible but requires careful UX decisions and state management.
  • GraphQL Codegen and TypeScript saved us countless hours by enabling safe and predictable API interactions.

What's next for Hair Salon CRM All in one

  • ๐ŸŒ Multichannel Support for mobile, in-salon POS, and online bookings
  • ๐Ÿ“… Calendar Sync with Google Calendar / Apple Calendar
  • ๐Ÿ’ฌ In-app Chat between customers and stylists
  • ๐Ÿง  AI Recommendations for upselling products or suggesting new services
  • ๐ŸŒ PWA/Desktop Admin Panel for managing from any device
  • ๐Ÿ”— Integration with external accounting systems (e.g., QuickBooks, Xero)
  • ๐Ÿช Marketplace Module for salons to list and sell their own products online

Built With

Share this project:

Updates