Overview
Glowit is a comprehensive beauty and salon booking product built to modernize how Tunisians discover, book, and experience beauty services. Inspired by international platforms like Booksy and Fresha but tailored specifically for the Tunisian market, Glowit connects customers with local salons, spas, barber shops, and independent beauty professionals. The product ships as two surfaces — a Next.js web platform for desktop-first booking and business management, and a React Native mobile app for on-the-go discovery and checkout — both backed by a single shared API. Beyond simple appointment scheduling, Glowit incorporates an e-commerce storefront for beauty products, at-home service delivery, and a full suite of business management tools for salon owners.
Key Features
Salon Discovery and Booking
Customers can explore salons organized by service category including hair styling, nail care, spa treatments, massage therapy, and barbering. Each salon profile showcases available services with pricing, staff bios, customer reviews, photo galleries, and real-time availability calendars. The booking flow guides customers through service selection, stylist preference, time slot picking, and payment confirmation in a streamlined multi-step process. Search filters allow narrowing results by location, price range, rating, and availability.
- Category Browsing - Hair, Nails, Spa, Massage, Barber, and custom categories defined by salon owners
- At-Home Services - Dedicated booking flow for professionals who offer mobile beauty services at the customer's location
- Real-Time Availability - Calendar integration showing live slot availability per stylist with instant booking confirmation
- Reviews and Ratings - Customer review system with verified booking badges, photo uploads, and salon owner responses
E-Commerce Store
Glowit includes an integrated e-commerce module where salons can sell beauty products directly to their customers. Product listings support multiple images, variants (size, color), inventory tracking, and promotional pricing. Customers can add products to their cart alongside service bookings, creating a unified checkout experience. Order tracking, delivery status updates, and return management complete the e-commerce workflow.
Business Dashboard
Salon owners access a comprehensive business dashboard that provides end-to-end management of their operations. The dashboard includes appointment management with drag-and-drop calendar views, revenue analytics with daily/weekly/monthly breakdowns, customer relationship management with visit history and preferences, and marketing tools for promotions and loyalty programs. Key performance indicators are displayed prominently, giving owners instant visibility into their business health.
Employee Management
The platform includes a full employee management module where salon owners can onboard staff, set individual schedules, define service competencies, track performance metrics, and manage commission structures. Each employee gets a personal profile visible to customers, and the scheduling system prevents double-bookings while optimizing chair utilization across the team.
Multi-Language Support
Given the Tunisian market context, Glowit supports three languages: Arabic (with full RTL layout support), French, and English. Language switching is instant and persists across sessions. All user-generated content, system messages, and administrative interfaces are fully localized. The RTL implementation extends to complex UI components like calendars, data tables, and navigation menus.
Mobile App
The Glowit mobile app is a React Native client built to give customers a native, on-the-go experience for discovering salons and booking services. The app mirrors the web platform's core customer-facing flows — category browsing, salon profiles, real-time availability, and secure checkout — while taking full advantage of mobile capabilities such as push notifications for booking reminders and promotional offers, device camera access for uploading review photos, geolocation for finding nearby salons, and biometric authentication for secure sign-in. The mobile app shares the same API layer as the web platform, so bookings, cart state, and user accounts stay in sync regardless of which surface a customer uses.
- Native UX - Smooth, gesture-driven navigation with platform-native transitions on iOS and Android
- Push Notifications - Booking reminders, promotional offers, and appointment status updates delivered through the device's notification system
- Location-Aware Discovery - Find nearby salons using the device's geolocation and map integration
- Unified Account - Shared session and data model with the web platform so users can start a booking on one surface and finish on another
Technical Implementation
Glowit is built as a Turborepo monorepo containing the customer-facing Next.js 15 web application, the business dashboard, the React Native mobile client, and shared packages for types, API clients, and UI primitives. The data layer uses Prisma ORM with PostgreSQL, supporting complex relational queries for availability calculations and booking conflicts. File storage for salon photos, product images, and user avatars is handled by MinIO, providing S3-compatible object storage. Redis powers real-time features including session caching, rate limiting, and pub/sub for live availability updates. Meilisearch provides fast, typo-tolerant search across salons, services, and products. Socket.IO enables real-time notifications for new bookings, chat messages between customers and salons, and live appointment status updates. The React Native app consumes the same backend API as the web platform and shares TypeScript types through the monorepo's shared packages.
- Turborepo monorepo with shared packages for types, UI components, and utilities across web and mobile
- Next.js 15 with App Router for both customer and business web applications
- React Native mobile client sharing types and API clients with the web stack
- Prisma ORM with PostgreSQL for complex booking and availability logic
- MinIO for S3-compatible image and file storage
- Redis for caching, rate limiting, and real-time pub/sub
- Meilisearch for fast, typo-tolerant search across salons and services
- Socket.IO for real-time notifications and chat functionality
Deployment and Infrastructure
The application is deployed on self-hosted infrastructure using Coolify as the deployment platform. The application stack runs as multiple Docker containers managed by Coolify, with Traefik providing reverse proxy and automatic SSL termination. PostgreSQL, Redis, MinIO, and Meilisearch each run as dedicated Coolify services with persistent volumes and automated backup schedules. The Turborepo build pipeline produces optimized Docker images for each application within the monorepo.
Purpose and Context
Glowit was developed to fill a significant gap in the Tunisian beauty services market where most bookings still happen via phone calls or social media messages. By providing a modern, localized product with native Arabic support, features tailored to local business practices, and both a web platform and a mobile app, Glowit aims to digitize an industry that represents a substantial portion of the service economy in Tunisia and the broader North African region.



