Plateforme de réservation
Instituts de beauté : WhatsApp en façade, un vrai système de réservation derrière.
Next.js · TypeScript · Prisma · Neon · Better Auth · WhatsApp Business API
Lire toute l’histoireUn seul profil pour l’emploi et le freelance
Un marché où l’embauche et le freelance suivent le même parcours en quatre étapes.
C’est mon propre projet, pas une commande. Je l’ai choisi parce que le problème est vraiment difficile à modéliser, et parce que je voulais construire une plateforme complète de bout en bout, pas une démonstration.
L’idée tient en une observation : les plateformes d’emploi et de freelance sont construites comme deux métiers, alors qu’elles suivent les mêmes quatre étapes : découvrir, marquer son intérêt, évaluer, s’engager. Seule la fin change : une offre d’embauche d’un côté, un contrat par jalons de l’autre. Et la personne qui travaille des deux façons, et elles sont nombreuses aujourd’hui, vit dans deux produits, avec deux profils et deux réputations.
La difficulté est dans le modèle. Une même identité doit servir la personne qui cherche un poste, l’indépendant qui propose ses services et le membre d’une société qui recrute, et une seule personne peut être tout cela à la fois. La confiance entre inconnus, elle, doit être bâtie dans le système même : de l’argent déposé avant le début du travail, un historique d’étapes qu’on ne réécrit pas après coup, des avis rédigés seulement après un vrai contrat mené à terme. Chaque raccourci dans ces fondations ressort plus tard comme un défaut sur chaque écran posé dessus.
J’ai construit la partie coûteuse une seule fois. Une identité qui peut être un talent en recherche et appartenir à une société qui recrute, une liste de compétences qui décrit les emplois, les projets et les personnes, un parcours en quatre étapes que les deux côtés empruntent, et une seule couche pour la messagerie, les avis et la facturation. Au sommet, deux extrémités légères : l’emploi se conclut par une offre, le projet par un contrat dont le premier jalon est financé avant le début du travail.
La moitié la plus difficile était la confiance entre inconnus. Les jalons d’un contrat sont financés avant le travail, la livraison appartient au freelance, l’accord et le versement sont deux étapes séparées du côté de la société, et chaque étape exige l’état qui la précède. Le parcours d’un candidat, lui, est un registre en ajout seul : chaque passage s’écrit avec son auteur, son heure et sa note, et une correction est une entrée nouvelle, jamais une retouche du passé.
Dans la société, les droits sont des capacités précises plutôt que des grades : l’intervieweur remet sa fiche mais ne déplace pas un candidat, la facturation finance et verse mais n’ouvre pas les dossiers. Et la fiche d’un collègue reste cachée tant que la vôtre n’est pas remise, pour que personne n’écrive son avis par-dessus celui d’un autre.
Le même profil porte à la fois un statut de recherche d’emploi et une disponibilité freelance. Passer un entretien salarié tout en menant un contrat freelance est ici un état ordinaire, pas un cas limite.
Découvrir, marquer son intérêt, évaluer, s’engager. Une même recherche et un même parcours pour les emplois et les projets ; seule la conclusion change : une offre, ou un contrat financé.
Le montant de chaque jalon est déposé avant que le travail commence. Le freelance livre, la société approuve puis verse, et chaque étape exige la précédente : personne ne saute à la fin.
Chaque déplacement d’un candidat s’écrit comme une entrée nouvelle : d’où, vers où, par qui, quand, et avec quelle note. Le parcours ne se retouche pas après coup, et le candidat voit à quelle étape il en est.
Les rôles d’une société sont des capacités précises, pas des grades : l’intervieweur note mais ne déplace pas, la facturation finance sans voir les candidats, l’admin dessine le parcours. Chaque capacité est vérifiée par le serveur à chaque requête.
Chaque offre d’emploi porte les étapes que la société a dessinées : questions de présélection, entretiens, fiches d’évaluation. Une question éliminatoire écarte d’office qui n’y répond pas, et personne ne perd de temps sur des candidatures hors critères.
Un seul cœur : identité, compétences, parcours et messagerie bâtis une fois, deux bouts légers par-dessus.
Ce qui coûte cher dans ce genre de plateforme, c’est le milieu, pas les bouts : la recherche, le profil, le parcours, la confiance. Le construire deux fois, c’est l’entretenir deux fois et voir les copies s’éloigner. Et celui qui travaille des deux façons obtient ici un seul profil et une seule réputation.
La conception de départ est bien plus lourde que deux flux séparés, et chaque décision du cœur doit convenir aux deux côtés à la fois, ce qui est une contrainte permanente.
En ajout seul. Un passage s’écrit et ne se touche plus ; corriger, c’est en ajouter un.
Un registre modifiable n’est pas un registre, c’est un brouillon. Le parcours d’un candidat peut peser sur un morceau de sa vie professionnelle, et il ne doit pas être réarrangé en silence après coup. Quand chaque passage garde son auteur et son heure, le récit du système est le seul récit.
Les vraies erreurs restent visibles dans le registre au lieu de s’effacer, et les corriger est un ajout public. C’est parfois inconfortable, et c’est le prix d’un registre qui dit vrai.
Des jalons en dépôt. Chacun est financé avant de commencer, et versé après l’accord.
Entre deux inconnus, la première vraie question est : qui prend le risque en premier ? Le dépôt d’avance y répond : la société risque l’argent avant le travail, et le freelance voit l’argent bloqué avant d’écrire une ligne. L’accord et le versement sont volontairement deux étapes séparées, chacune avec son responsable.
Plus de friction sur chaque contrat : des étapes à comprendre et à suivre. La voie facile, une facture payée après, allait plus vite et ne protégeait personne.
Une seule liste. La même compétence décrit l’emploi, le projet et la personne, et les synonymes sont fusionnés.
Si les emplois se décrivaient dans un vocabulaire et les projets dans un autre, la même personne vivrait avec deux dictionnaires, et rien ne pourrait se croiser entre les deux côtés. La liste unique est ce qui fait marcher la recherche et le rapprochement dans les deux sens.
Une liste commune demande un entretien constant : synonymes fusionnés, doublons nettoyés, sans quoi elle se dégrade des deux côtés à la fois.
Cachées. Les fiches des collègues sur un candidat n’apparaissent qu’après la remise de la vôtre.
Le premier avis exprimé entraîne les suivants, et les entretiens perdent leur valeur quand ils deviennent l’écho de celui qui a parlé en premier. Cacher les fiches jusqu’à la remise fait de chacune un jugement indépendant, et c’est tout l’intérêt d’avoir plusieurs intervieweurs.
C’est une étape obligatoire qui ralentit l’équipe, et celui qui veut jeter un œil à l’avis d’un collègue ne l’aura pas avant d’écrire le sien.
Je suis parti de la vie de quelqu’un qui travaille des deux façons : deux profils, deux réputations, une histoire répartie sur deux plateformes. Puis j’ai démonté les deux processus pas à pas : c’était le même chemin en quatre étapes, différent seulement à la fin.
L’essentiel du temps de conception est allé au modèle avant les écrans : où l’emploi et le projet se rejoignent et où ils se séparent, ce qui se dépose et quand cela se verse, ce qui s’écrit et ne se retouche jamais. Une erreur ici aurait coûté une reconstruction, pas un coup de peinture.
J’ai construit le cœur d’abord : l’identité, les compétences, le parcours et son registre, puis l’argent et ses jalons, puis la messagerie, les avis et les abonnements. Chaque partie était finie pour les deux côtés avant la suivante.
La plateforme est publiée et tourne en entier, et elle est présentée ici pour ce qu’elle est, un projet personnel : la preuve publiée la plus large de ma façon de construire un produit complet.
La plateforme est construite en entier et tourne : les deux côtés, le parcours, les contrats et leurs jalons, la messagerie, les avis, les abonnements. Je l’ai bâtie pour apprendre en construisant la vraie chose dans tout son détail, et c’est l’exemple publié le plus large de ma façon de travailler.
Les revenus et la croissance appartiennent au client. Je ne publie aucun chiffre que je n’ai pas mesuré.
Instituts de beauté : WhatsApp en façade, un vrai système de réservation derrière.
Next.js · TypeScript · Prisma · Neon · Better Auth · WhatsApp Business API
Lire toute l’histoireUn guide qui accompagne le voyageur et traite en direct avec les prestataires.
Next.js · TypeScript · Prisma · Neon · Better Auth · Vercel AI SDK
Bientôt disponibleUne idée, pas de cofondateur technique, pas d’étape suivante évidente. C’est le point de départ habituel.
Parlez-moi de votre idée