Étape 04 / Produit personnel / 2026
Signlyo, un SaaS livré seul
Signatures e-mail HTML et cartes de visite numériques, en freemium. Conçu, développé, mis en conformité et lancé seul. Édité par ma société, Axion Development.
Voir signlyo.comPlan de vol
- Période
- Avril à septembre 2026
- Rôle
- Fondateur, seul développeur
- Équipe
- Projet solo
- Stack
- React 19, Vite, Convex, Coolify
- 1
- personne pour le produit, le code, la conformité et le lancement
- 4,5 mois
- du premier commit au lancement
- 0
- intervention manuelle entre l'inscription et l'abonnement
Le parcours d'un utilisateur
De la création d'une signature à l'abonnement, sans intervention manuelle.
- WP01ÉditeurSignature et carte, 4 thèmes au choix
- WP02CopieRich text compatible Gmail ou HTML brut
- WP03Carte publiqueQR code, vCard, PWA hors ligne
- WP04AbonnementPaiement, limites de plan, e-mails de cycle de vie
Le produit
Des signatures e-mail compatibles avec les principaux clients mail, avec un guide d’installation pour chacun, et des cartes de visite numériques partageables par lien ou QR code. L’offre gratuite affiche « Créé avec Signlyo », ce qui fait de chaque e-mail envoyé un canal d’acquisition.
Ce que j’ai fait
- Le produit complet : éditeur, analytics avec agrégation quotidienne, feature flags, back-office, i18n français et anglais.
- L’authentification avec Better Auth et la double authentification.
- Le paiement avec LemonSqueezy, qui porte la TVA en tant que Merchant of Record.
- La conformité commerciale : CGU, mentions légales, recueil de la renonciation au droit de rétractation.
- Le déploiement : front sur Coolify, backend sur Convex, CI GitHub Actions avec typage, tests et lint.
Une décision
Limites de plan appliquées côté serveur
- Contexte
- L'offre gratuite donne une signature et une carte ; une limite vérifiée seulement dans l'interface se contourne par un appel direct.
- Décision
- Les limites sont vérifiées dans les mutations Convex, et l'abonnement est synchronisé par un webhook signé en HMAC.
- Conséquence
- Un compte gratuit ne dépasse pas son quota, même en appelant l'API directement.