Aller au contenu
Open source · MIT · Deno 2 + Postgres

Les fondations de votre SaaS, déjà construites.

Seed est un starter SaaS gratuit sous licence MIT, avec connexion et double authentification (2FA), groupes avec rôles, facturation Stripe par membre, temps réel, une application hors ligne et un espace d’administration. Vous le déployez avec Docker Compose sur un seul serveur Linux que vous louez.

Sans inscription. Vous obtenez un compte invité avec des données d’exemple, effacé chaque nuit. Seed est utilisable dès aujourd’hui, développé en public : voir ce qui fonctionne aujourd’hui.

$ gh repo create my-product --template spy4x/seed --private --clone$ cd my-product$ deno task init$ deno task dev
init écrit infra/envs/.env avec tous les secrets déjà remplis. Ou demandez à votre agent IA : Create my new product "Acme" from https://github.com/spy4x/seed and run it locally.
L’écran des notes de l’application web Seed : un champ de recherche, des filtres par étiquette et par auteur, un filtre Créées par moi et un menu de tri au-dessus de la liste des notes d’un groupe, chacune avec son auteur, ses étiquettes, sa date de mise à jour et de création, et un bouton Nouvelle note.
fichiers de tests dans les applications et les bibliothèques, tous exécutés en CI
324
licence : ni compte, ni paywall
MIT

Ce que vous obtenez

Tout ce qui précède votre première fonctionnalité

Chaque partie ci-dessous fonctionne aujourd’hui et est testée en CI. La connexion avec Google et GitHub et la facturation Stripe demandent vos propres clés : elles sont donc désactivées dans la démo.

La connexion, c’est réglé

Adresse e-mail et mot de passe avec codes de vérification, réinitialisation du mot de passe, connexion avec Google et GitHub, clés d’accès, liens de connexion par e-mail, comptes invités et 2FA avec une application d’authentification. Des sessions que vous pouvez voir et fermer.

Comment fonctionne la connexion
La page de sécurité d’un profil : le mot de passe, un bouton Ajouter une clé d’accès, la double authentification activée, et le haut de la liste des appareils connectés.

Facturation par membre

Abonnements Stripe par groupe : un forfait Gratuit avec des limites, un forfait payant par membre, des périodes d’essai, un délai de grâce quand une carte est refusée. Le propriétaire confirme le prix avant chaque invitation.

Comment fonctionne la facturation
Le forfait d’un groupe d’exemple dans l’application de démo, aux prix d’exemple de la démo : forfait Pro avec sa date de renouvellement, 36,00 € par mois, pour 4 membres à 9,00 € chacun, propriétaire compris.

Temps réel et hors ligne

Les modifications arrivent dans chaque onglet ouvert via WebSocket. L’application s’installe, s’ouvre sans réseau, met les écritures en file d’attente et signale un conflit au lieu d’écraser le travail de quelqu’un.

Comment fonctionnent le temps réel et le hors-ligne
L’éditeur de notes de l’application Seed, pendant la modification du titre ; toutes les autres fenêtres ouvertes affichent le nouveau titre après l’enregistrement.

Des groupes dès le premier jour

Chaque compte reçoit un groupe à l’inscription. Invitez des personnes, attribuez-leur un rôle de lecteur à propriétaire, transférez la propriété et restaurez un groupe supprimé pendant 30 jours. Chaque groupe a une vue d’ensemble de ses chiffres clés.

Comment fonctionnent les groupes
Les membres d’un groupe, chacun avec son rôle, un bouton pour inviter des personnes, et le menu d’un membre ouvert : Nommer lecteur, Nommer administrateur, Retirer du groupe.

Un espace d’administration

Les opérateurs retrouvent une personne, gèrent les groupes, remboursent un paiement et vérifient l’état du système. Il tourne sur son propre hôte ; les actions risquées demandent confirmation, et chaque action est journalisée.

Visiter le panneau d’administration

Un site web public

Ce site : rendu côté serveur, fonctionnel sans JavaScript, en neuf langues, avec des tarifs tirés de votre catalogue de forfaits, des pages légales et une newsletter à double confirmation.

Ce que contient le site web
Toutes les fonctionnalités, avec captures d’écran et état

Tourne sur un seul serveur que vous louez

Un serveur, un docker compose, aucune facture surprise.

Seed tourne sur n’importe quel serveur Linux que vous louez. Compose démarre l’API, le worker, l’application web, Postgres, Valkey et Traefik avec des certificats automatiques. Les métriques et les logs partent vers VictoriaMetrics et VictoriaLogs, avec Grafana par-dessus, et un conteneur de sauvegarde enregistre chaque jour une copie chiffrée de la base de données. Plusieurs produits peuvent partager un même serveur. Rien n’est facturé à la requête : un pic de trafic ne vous coûte rien de plus.

Seed n’est pas fait pour vous si vous voulez des fonctions serverless ou Vercel : il est conçu pour un serveur que vous contrôlez.

Application webPreactSite webFreshAPIHono sur DenoPostgreschaque modificationWorkerles tâches lentesE-mail, pushet le nettoyageLe tout sur un seul serveur, derrière Traefik,avec Valkey et Grafana

Démarrage rapide

En local en quatre commandes

Il vous faut Deno 2 et Docker ; la CLI GitHub est facultative.

init copie le fichier d’environnement et génère tous les secrets ainsi que les clés de notifications push web ; dev démarre Traefik et tout le reste. Ouvrez ensuite http://app.localhost. Le README liste tous les paramètres et explique comment déployer.

Ou demandez à votre agent IA : Create my new product "Acme" from https://github.com/spy4x/seed and run it locally.

$ gh repo create my-product --template spy4x/seed --private --clone$ cd my-product$ deno task init$ deno task dev

Un état des lieux honnête

Où en est le projet aujourd’hui

Seed est utilisable dès aujourd’hui, développé en public. Voici exactement ce qui fonctionne et ce qui ne fonctionne pas encore.

Fonctionne aujourd’hui

Prêt
  • Inscription, connexion, vérification de l’adresse e-mail, réinitialisation du mot de passe, connexion avec Google et GitHub, clés d’accès, liens magiques, 2FA avec une application d’authentification
  • Comptes invités : essayez l’application en un clic, gardez le compte en ajoutant une méthode de connexion
  • Groupes avec membres, rôles, invitations et transfert de propriété
  • Export d’un groupe vers un fichier, et import d’un fichier comme nouveau groupe
  • Images et PDF joints aux notes, dans la limite d’espace de chaque forfait
  • Facturation par membre avec périodes d’essai, via Stripe
  • Une photo de profil, la liste des appareils connectés, le téléchargement de vos propres données, et la suppression du compte avec 7 jours pour revenir en arrière
  • Jetons d’API personnels
  • Le temps réel, l’application hors ligne et les notifications push web
  • Un bot Telegram : des notifications dans une conversation, et vos propres commandes dans un seul fichier
  • L’espace d’administration
  • Le worker d’outbox, la newsletter et ce site web
  • L’application, l’espace d’administration et ce site web en neuf langues : anglais, russe, espagnol, allemand, portugais brésilien, arabe, français, japonais et chinois simplifié

Pas encore développé

En cours
  • Une application Android sur le Play Store
  • Une application de bureau pour Windows, macOS et Linux
Suivre l’avancement sur GitHub

Vous n’êtes pas développeur ? Je construis votre produit sur Seed.

Je suis Anton, celui qui développe Seed. Des fondateurs font appel à moi pour faire de leur idée un produit en ligne, où l’on peut s’inscrire et payer. Comme l’inscription, les groupes et les paiements existent déjà, votre budget va à ce qui rend votre produit unique.

Voir comment ça marche et combien ça coûte (ouvre antonshubin.com)

Qui développe Seed

Développé par un ingénieur, pour de vrais projets clients

Je suis Anton Shubin, ingénieur full-stack senior et tech lead, freelance depuis 2013. Seed, ce sont les fondations que je reconstruisais sans cesse pour mes clients, réunies dans un seul dépôt. Je l’utilise pour des MVP payants : quand quelque chose casse, c’est corrigé. S’il manque quelque chose pour votre produit, ouvrez une issue ou écrivez-moi.

Recevez un e-mail court quand Seed a du nouveau

Ce qui est sorti, ce qui a cassé, ce que j’ai appris en le construisant. Aucun autre e-mail, et un désabonnement en un clic.

Vous confirmerez d’abord par e-mail.

Questions

Avant de commencer

Puis-je l’essayer sans compte ?

Oui. « Essayer la démo en ligne » ouvre l’application dans un compte invité avec des données d’exemple, sans adresse e-mail ni mot de passe. Vous pouvez ajouter une méthode de connexion, mais la démo est quand même effacée chaque nuit. Seed lui-même ne demande aucun compte : clonez-le depuis GitHub.

Seed est-il vraiment gratuit ?

Oui. Il est sous licence MIT : utilisez-le pour autant de produits que vous voulez, commerciaux ou non, publiez votre fork, sans aucun compte. Vous ne payez que le serveur que vous louez et les services que vous activez, comme Stripe ou un fournisseur d’e-mail.

Pourquoi Deno et Preact plutôt que Next.js ?

Ils reposent sur les standards du web (fetch, Request, Web Crypto, modules ES), démarrent vite et ont peu de dépendances : il y a moins à mettre à jour et moins de choses qui cassent. Si vous travaillez dans l’écosystème Next.js, un starter Next.js vous conviendra mieux ; la comparaison en cite de bons.

Puis-je l’utiliser pour des projets clients ?

Oui. La licence MIT le permet, et c’est ainsi que je l’utilise. Votre client n’a besoin d’aucune licence.

Est-il prêt pour la production ?

Les parties listées sous « Fonctionne aujourd’hui » sont testées en CI : chaque pull request lance les tests de connexion, de profil, de notes et de groupes, et la suite complète tourne après chaque merge. Seed est utilisable dès aujourd’hui et continue de grandir ; lisez la liste d’état avant de vous appuyer sur une partie.

Voyez-le fonctionner en une minute

La démo, c’est l’application que vous obtenez dès le premier jour. Ouvrez-la sans inscription : votre compte invité démarre avec des données d’exemple.