- Receives booking messages from clients (WhatsApp or chat widget) (possibilities for telegram / phone calls)
- Understands date/time requests using NLP
- Validates barber availability
- Saves booking automatically to Supabase
- Handles incoming messages
- Calls AI model for message interpretation
- Creates records in Supabase (
bookings,clients, etc.) - Sends confirmation messages to clients
-
Authentication for barbers & clients
-
Database tables for:
clientsbarbersservicesbookingsavailabilitybarber_settings
- Barber login panel
- Calendar view of bookings
- List of clients
- Manage services & working hours
- Dashboard analytics (daily bookings, revenue estimate, etc.)
- Create account
- View upcoming bookings
- Cancel/reschedule
- Browse services
- Hero landing page + simple front page
/project
├── backend (supabase)
│ ├── migrations
│ ├── policies
│ └── db.sql
├── automations (n8n workflows)
│ └── ai-booking-workflow.json
├── dashboard (React app for barbers)
│ ├── src
│ └── package.json
├── client-portal (React app for customers)
│ └── src
└── README.md
id (uuid)
full_name
phone
email
created_at
id (uuid)
full_name
phone
email
password_hash
role
created_at
id (uuid)
name
description
price
duration_minutes
barber_id
id (uuid)
client_id
barber_id
service_id
date
time
status (pending/confirmed/cancelled)
created_at
id (uuid)
barber_id
weekday
start_time
end_time
id
barber_id
auto_confirm (bool)
timezone
Workflow steps:
- Webhook → Receives client message (WhatsApp / API)
- AI Parser → Extracts intent (booking, cancel, reschedule)
- Supabase Node → Checks availability
- Supabase Node → Insert booking
- Respond to User → Sends confirmation message
Workflow JSON is included in:
automations/ai-booking-workflow.json
Pages included:
- Login / Register
- Dashboard Overview
- Calendar (full bookings view)
- Clients List
- Services Management
- Settings
Built with:
- React
- Supabase Auth
- shadcn/ui
- FullCalendar
- TailwindCSS
- Register / Login
- Create booking (coming soon)
- View upcoming appointment
- Cancel or reschedule
- Minimal landing page
git clone https://github.com/klisard/Barber-Booking-SaaS.git
cd barber-booking-saas
cd dashboard
npm install
npm run dev
cd client-portal
npm install
npm run dev
Go to:
n8n → Settings → Import Workflow → Upload ai-booking-workflow.json
- Create new Supabase project
- Run SQL from
backend/db.sql - Add environment variables to dashboard + n8n
VITE_SUPABASE_URL=
VITE_SUPABASE_ANON_KEY=
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
AI_API_KEY=
WHATSAPP_API_KEY=
- Add payment integration (Stripe)
- Multi-barber branch management
- Client push notifications
- AI voice booking (Twilio Voice)
- Barber mobile app (React Native)
Project developed by a team of three members:
- Klisard Muca – Project Manager, AI + n8n workflows
- Erbi Bejkolli – Supabase + backend
- Marsel Vojka – React dashboard + UI/UX