Un SaaS complet pour que les couples gèrent tout leur mariage en ligne. Un tableau de bord avec la gestion des réponses, une liste de cadeaux liée aux paiements PIX, des e-mails automatiques via Resend, et un site public pour les invités avec quatre thèmes et quatorze sections configurables.

01 / LE PROBLÈME
Les outils de mariage sont éparpillés.
Un couple qui prépare son mariage jongle avec six outils : un tableur pour les invités, un Google Form pour les réponses, une liste de cadeaux sur une marketplace, des groupes WhatsApp pour les nouvelles, un site Wix pour la page publique et une feuille imprimée pour le jour J. Aucun ne parle aux autres.
Le cahier des charges : un seul produit qui gère tout. Le couple se connecte, gère tout, et donne une seule adresse aux invités.
02 / L’APPROCHE
Multi-tenant dès le premier jour.
Je l’ai conçu comme un SaaS, pas comme un projet unique. Chaque mariage est un tenant avec ses propriétaires, ses éditeurs, ses invités, ses cadeaux, son thème et son adresse publique. Ce choix a façonné le schéma (chaque table interrogeable a une clé étrangère `weddingId`), l’authentification (rôles au niveau du tenant) et le site public (routes dynamiques Next.js qui résolvent le slug vers la configuration publiée d’un tenant).
Pourquoi s’embêter pour ce qui, au départ, était le projet d’un seul couple ? Parce que le deuxième client ne coûte rien. Le propriétaire peut créer un nouveau mariage pour un ami en deux clics.
03 / LA RÉALISATION
PIX, réponses par groupe, et le reste.
Réponses par groupe. Chaque invité appartient à un groupe (« la famille Silva »), et la confirmation d’un membre vaut pour tout le groupe. Chaque groupe a son QR code, qui ouvre une page de confirmation personnalisée. C’est comme ça que se comportent vraiment les familles brésiliennes : un cousin répond pour dix personnes.
PIX comme moyen de paiement à part entière. Les cadeaux se réservent et se paient avec un BR Code EMV généré (le QR du PIX). Je génère le QR dynamique côté serveur, l’invité paie en un geste sur son téléphone, et le rapprochement se fait par webhook. Sans la lourdeur de Stripe.
Des thèmes qui tiennent la route. Quatre thèmes complets (Minimaliste, Romantique, Rustique, Classique), chacun avec sa palette, ses polices (Cormorant Garamond, Playfair, Bodoni) et ses séparateurs ornementaux. Le couple règle couleurs et polices depuis un seul panneau.
Des e-mails qu’on a envie de lire. Resend gère les envois transactionnels : accusés de confirmation, résumé quotidien pour les mariés, alertes d’échéance. Les modèles de messages WhatsApp sont à côté des e-mails, pour que le couple copie-colle ses annonces.
04 / RÉSULTAT
En ligne, utilisé, resté simple.
Le premier couple a géré son mariage dessus de bout en bout : invitations, réponses, liste de cadeaux par PIX, et un e-mail de résumé quotidien qui a remplacé le rituel du tableur.
Le code fait environ 78 000 lignes sur 326 commits, avec une documentation sur la mise en ligne, la sécurité et la feuille de route du SaaS. La tâche cron qui envoie les résumés quotidiens tourne à 9 h UTC sur Vercel : un gestionnaire de route de neuf lignes qui fait le travail d’un tableau de bord que personne n’ouvre.
Lignes de code
~78k
Commits
326
Sections publiques
14
Thèmes
4
