simple-salon

byAmarjit Sharma

Build a modern, premium salon booking + real-time queue web app called "Snippr". đŸŽ¯ Goal: Create a clean, minimal, premium UI (like Apple / Stripe / Uber style) with smooth UX, not cluttered. The design must feel high-end and modern. ----------------------------------- 🧱 TECH STACK: - React + Vite - Tailwind CSS - Supabase (Auth + Database + Realtime) - Cloudflare Turnstile (bot protection) - Responsive (mobile-first) ----------------------------------- 🎨 UI DESIGN RULES: - Clean layout, lots of white space - Soft shadows, rounded-xl cards - Gradient primary color (purple → orange) - Smooth hover animations - No clutter, no unnecessary borders - Consistent spacing system - Glassmorphism for highlight sections - Sticky summary panel on desktop - Bottom sheet UI on mobile ----------------------------------- 🏠 LANDING PAGE: - Hero section with headline: "Skip the Wait. Join the Queue." - CTA buttons: - Find Salons - Owner Login / Register - Show nearby salons based on user location - Modern navbar with login/signup ----------------------------------- 👤 AUTH SYSTEM: - Customer login/signup (phone or email) - Owner login/signup (separate) - Use Supabase Auth - Add Cloudflare Turnstile on login/signup ----------------------------------- 👤 CUSTOMER PROFILE: - On first login → show modal: - First Name (required) - Last Name (required) - Phone Number (required) - Save profile in database - Next time → auto-fill details ----------------------------------- 📅 BOOKING FLOW (IMPORTANT): Create a clean 3-step layout: STEP 1: User Details - Auto-filled profile - Toggle: "Booking for someone else?" → If ON → show manual input fields STEP 2: Select Service - Card UI with: - Name - Duration - Price - Selectable with highlight STEP 3: Choose Barber - Show barber cards: - Name - Chair number - Rating - Availability (Available / Busy) STEP 4: Select Date & Time - Allow booking up to 30 days ahead - Time slots based on availability ----------------------------------- 📊 BOOKING SUMMARY (RIGHT PANEL): Sticky card showing: - Customer name - Selected service - Barber - Estimated wait time - Queue position (LIVE) - Total price CTA: 👉 "Join Queue" ----------------------------------- ⏱ REAL-TIME QUEUE SYSTEM: - Show live queue position - Update automatically using Supabase realtime - Show: - "If you join now: #3" - Estimated wait time (dynamic) - Queue logic: - FIFO (first come first serve) - Prevent cheating (no manual override) ----------------------------------- 👨‍đŸ’ŧ OWNER DASHBOARD: - Stats: - Total customers - Earnings - Active queue - Avg wait time - Manage: - Services - Barbers (with chair number) - Live queue - Add walk-in customers manually ----------------------------------- 📍 LOCATION FEATURE: - Detect user location - Show nearby salons - Sort by distance ----------------------------------- 🛡 SECURITY: - Cloudflare Turnstile on: - Login - Signup - Booking submission - Backend verification API ----------------------------------- 📱 RESPONSIVENESS: - Mobile: - Stack layout - Bottom sticky CTA - Tablet: - 2-column layout - Desktop: - 3-column layout with sticky summary ----------------------------------- ⚡ PERFORMANCE: - Fast loading - Lazy loading components - Optimized images ----------------------------------- đŸŽ¯ FINAL RESULT: A premium, scalable salon booking + queue system similar to: - Fresha - UrbanClap - Uber waiting system Focus heavily on: 👉 Clean UI 👉 Smooth UX 👉 Real-time updates 👉 No clutter 👉 Premium feel

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

System Requirements Document (SRD)

Project Name: simple-salon

1. Introduction

The simple-salon project aims to deliver a premium, modern salon booking and real-time queue management web application. This document outlines the system requirements for the project, ensuring clarity and alignment with the vision shared by Amarjit Sharma. The application will focus on providing a clean, minimal, and high-end user experience, catering to both salon customers and owners.

2. System Overview

The simple-salon platform will serve as a responsive web application designed to streamline salon bookings and queue management. It will feature a sleek, intuitive interface inspired by premium brands like Apple, Stripe, and Uber. The system will include functionalities for customer profile management, service selection, barber assignment, and real-time queue updates. Owners will have access to a dashboard for managing services, barbers, and live queues.

Key features include:

  • A clean, modern UI with smooth animations and minimal clutter.
  • Real-time queue updates powered by Supabase.
  • Responsive design optimized for mobile-first usage.
  • Secure authentication using Supabase Auth and Cloudflare Turnstile.
Page 1 of 8

3. Functional Requirements

As a Customer:

  • I should be able to log in or sign up using my phone or email.
  • I should be able to create and save my profile with details like name and phone number.
  • I should be able to book a service in a clean, 3-step flow:
    • Step 1: Provide user details (auto-filled or manual input).
    • Step 2: Select a service from a card-based UI.
    • Step 3: Choose a barber based on availability, rating, and chair number.
    • Step 4: Select a date and time (up to 30 days ahead).
  • I should be able to view my booking summary, including queue position, estimated wait time, and total price.
  • I should be able to join the queue and receive real-time updates on my position.

As an Owner:

  • I should be able to log in or sign up separately from customers.
  • I should be able to view stats like total customers, earnings, active queue, and average wait time.
  • I should be able to manage services, barbers, and live queues.
  • I should be able to manually add walk-in customers to the queue.

4. User Personas

Page 2 of 8

Customer

  • Description: A salon visitor looking for a seamless booking experience.
  • Goals: Book services quickly, avoid waiting, and track queue position in real-time.
  • Pain Points: Long wait times, unclear queue status, and complicated booking processes.

Owner

  • Description: A salon manager or owner overseeing daily operations.
  • Goals: Manage services, barbers, and queues efficiently while tracking business performance.
  • Pain Points: Difficulty in managing walk-in customers and tracking real-time queue updates.

5. Visuals Colors and Theme

Color Palette

The simple-salon project will feature a premium, modern color scheme:

  • Background: #F8F9FA (Soft White)
  • Surface: #FFFFFF (Pure White)
  • Text: #2C2C2C (Charcoal Black)
  • Accent: #A855F7 (Gradient Purple) → #F97316 (Gradient Orange)
  • Muted Tones: #E5E7EB (Light Gray)
Page 3 of 8

Design Style

  • Clean layout with ample white space.
  • Rounded-xl cards with soft shadows.
  • Gradient accents for buttons and highlights.
  • Glassmorphism for key sections like booking summary.

6. Signature Design Concept

Concept: Interactive Queue Animation

The homepage will feature a dynamic queue visualization that instantly grabs attention.

Page 4 of 8

Details:

  • Hero Section:

    • A 3D animated queue line where avatars (representing customers) move forward in real-time.
    • Each avatar displays a name, service, and estimated wait time.
    • The queue dynamically updates as new users join or leave.
  • Interaction:

    • Hovering over an avatar reveals detailed booking information.
    • Clicking on "Join Queue" smoothly transitions to the booking flow.
  • Transitions:

    • Gradient background subtly shifts colors (purple → orange) as the queue progresses.
    • Micro-interactions like button hover effects and card flips enhance the premium feel.

This bold, interactive design will make the homepage unforgettable, emphasizing the app's real-time capabilities and modern aesthetic.

Page 5 of 8

7. Non-Functional Requirements

  • Performance:

    • Fast loading times with lazy loading for components.
    • Optimized images and assets.
  • Security:

    • Cloudflare Turnstile for bot protection on login, signup, and booking submission.
    • Backend verification API for secure data handling.
  • Scalability:

    • Designed to handle high traffic and real-time updates.
  • Responsiveness:

    • Mobile-first design with adaptive layouts for tablet and desktop.

8. Tech Stack

Frontend

  • React (Web)
  • Vite (Build Tool)
  • Tailwind CSS

Backend

  • Supabase (Auth + Database + Realtime)
Page 6 of 8

Security

  • Cloudflare Turnstile

Local Orchestration

  • Docker
  • docker-compose

9. Assumptions and Constraints

Assumptions

  • The initial version will focus on web functionality, with APIs and advanced integrations added later.
  • Users will primarily access the platform via mobile devices.

Constraints

  • Limited to Supabase for database and real-time functionalities.
  • Booking system must support up to 30 days in advance.
Page 7 of 8

10. Glossary

  • Supabase: A backend-as-a-service platform providing authentication, database, and real-time capabilities.
  • Cloudflare Turnstile: A bot protection tool for secure user interactions.
  • Glassmorphism: A design style featuring translucent surfaces with subtle shadows and highlights.
  • FIFO: First In, First Out queue logic ensuring fairness in customer order.
  • Gradient: A smooth transition between two or more colors.
Page 8 of 8

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

No user flows yet.

The User Flow Agent will generate per-persona navigation diagrams after SRD updates.