L’Abeille Barbershop, à Sion, est le projet sur lequel j’ai le plus travaillé ces derniers mois. Il a commencé en juillet 2025 par une demande toute simple, et il continue d’évoluer aujourd’hui.
La V1 : un formulaire et un lien mailto
Au départ, le besoin était clair : permettre aux clients de réserver en ligne dans un barbershop qui compte deux coiffeurs.
La première version était un formulaire React. Il construisait un lien mailto: avec les informations déjà remplies (nom du client, service choisi, horaire souhaité) et ouvrait l’application mail pour envoyer la demande au barbier. En parallèle, un événement Google Calendar était proposé pour bloquer le créneau.
Il n’y avait ni base de données ni backend, et l’infrastructure ne coûtait rien.
Ça fonctionnait. Les limites sont pourtant apparues vite : impossible de retrouver les réservations passées, pas de confirmation automatique pour le client, aucune gestion des disponibilités réelles. La V1 avait surtout montré que le concept tenait. Il fallait maintenant construire quelque chose de solide.
Décembre 2025 : le passage à Supabase
En décembre 2025, nous avons décidé de changer d’architecture. J’ai choisi Supabase, une plateforme PostgreSQL managée qui fournit l’authentification, la Row Level Security et une API générée automatiquement.
La nouvelle base a été posée en deux jours, avec cinq tables :
reservations, avec un statut (en attente, confirmé, annulé, terminé)clients, avec le suivi des no-shows et une liste noireadmin_users, avec des rôles (super_admin, admin, barber)services, avec des prix et des durées modifiablesopening_hours, pour les horaires de chaque jour
Les emails automatiques ont suivi juste après. Chaque changement de statut envoie un email transactionnel via le SMTP d’Infomaniak : demande reçue, confirmation, rappel 24 heures avant le rendez-vous, annulation.

Ce que fait la plateforme aujourd’hui
Huit mois après la première version, la plateforme compte des dizaines de fonctionnalités. Chacune répond à un besoin que le barbershop ou ses clients ont fait remonter en cours de route.
Côté clients, on réserve en ligne en choisissant le barbier, le service et le créneau. Chaque client a un compte avec l’historique de ses réservations et reçoit un email à chaque étape. Il existe un programme de fidélité à trois niveaux (Essentiel, Prestige, Excellence). Le site s’installe sur le téléphone comme une application (PWA), et quand le barbier propose un autre créneau, le client peut répondre directement depuis l’email.
Pour les barbiers et l’administrateur, le tableau de bord regroupe :
- un calendrier synchronisé avec Google Calendar
- les demandes en attente, à approuver en un clic
- la fiche de chaque client (historique, liste noire, no-shows)
- des statistiques sur les revenus, le taux d’occupation et les services les plus demandés
- la proposition de créneaux alternatifs, avec acceptation automatique après 24 heures
- la gestion des actualités et des concours, dont une roue de la fortune mensuelle
- le monitoring du système et les logs

Ce que j’en retiens
Commencer par une version bricolée était le bon choix. La V1 a confirmé l’intérêt du projet avant que j’investisse du temps dans une architecture complète.
Le choix de la stack a beaucoup compté. Avec l’authentification intégrée, les fonctions edge et l’API générée de Supabase, j’ai eu nettement moins de code backend à écrire moi-même. Pour un projet de cette taille, l’outil convenait bien.
La plupart des clients réservent depuis leur téléphone. J’ai donc conçu et testé chaque fonctionnalité d’abord sur mobile.
Enfin, j’ai travaillé avec l’IA tout au long du projet, en suivant toujours le même ordre : analyser, planifier, implémenter, puis tester. C’est ce qui m’a permis d’avancer vite sans perdre le contrôle du code.

La suite
Le projet continue. Les prochaines étapes prévues sont la synchronisation bidirectionnelle avec Google Calendar, des statistiques prédictives et les notifications push.
Vous tenez un commerce local en Suisse et vous voulez passer une partie de votre activité en ligne ? Écrivez-moi, nous en parlerons volontiers.