Seed
Почему Seed: бесплатный SaaS-стартер на веб-стандартах
Опубликовано · 3 мин чтения· Anton Shubin
Коротко
- Seed — бесплатный SaaS-стартер под MIT. Вы копируете его, и каждая строка становится вашей.
- Вход, группы с ролями, оплата через Stripe, реалтайм, офлайн и админка уже готовы.
- Серверы говорят на Fetch, Web Crypto и WebSocket, поэтому код не привязан к одному рантайму.
- Не берите его, если вам нужны serverless-функции или чужой готовый бэкенд.
Seed — бесплатный SaaS-стартер на веб-стандартах: вы копируете один репозиторий и сразу получаете
работающие вход, группы с ролями, оплату через Stripe за каждого участника, обновления в реальном
времени, офлайн-приложение, админку и публичный сайт. Лицензия MIT, всё работает на одном сервере,
который вы контролируете, а серверный код написан на Request и Response из Fetch, Web Crypto и
WebSocket, а не на закрытом API одного рантайма.
Я Антон, делаю SaaS MVP для клиентов, и Seed — то, с чего я их начинаю. Длинная история (80 с лишним проектов, неудачная первая версия и 52 коммита на настройку до первой фичи) — у меня в блоге, на английском: Seed: the SaaS starter I distilled from 80+ projects. Здесь — короткая версия для разработчика, который решает, пробовать ли.
Что есть в Seed с первого дня?
Всё, что нужно любому продукту с несколькими пользователями до первой настоящей фичи:
- Готовый вход. Почта и пароль с кодом подтверждения, ключи доступа (passkeys), Google и GitHub, ссылки для входа по почте и гостевой аккаунт, который посетитель открывает в один клик и сохраняет позже. Второй фактор через приложение-аутентификатор, список сессий, из которых можно выйти, и личные API-токены, которые хранятся только в виде хешей.
- Группы как граница между клиентами. Регистрация создаёт аккаунт, сессию и первую группу в одной транзакции. Личное пространство и команда — одно и то же, с теми же четырьмя ролями от зрителя до владельца.
- Оплата за участника через Stripe. Бесплатный тариф с лимитами, пробный период на 14 дней, количество мест, которое следует за числом участников, и отсрочка после неудачного платежа (оплата).
- Реалтайм и офлайн. Страницы видят изменения друг друга через WebSocket. Приложение открывается без сети, читает из IndexedDB и копит изменения заметок, пока сеть не вернётся (офлайн).
- Админка на отдельном хосте: оператор находит человека, видит его сессии и группы, делает возврат платежа, пишет в блог и перезапускает упавшую задачу — и всё это попадает в журнал аудита.
- Публичный сайт с серверным рендерингом: цены, юридические страницы, блог с RSS и рассылка с двойным подтверждением.
- Девять языков, включая арабский справа налево, — в приложении, админке, на сайте и в письмах.
Это настоящий код, который можно открыть, и почти всё работает в живом демо с выдуманными людьми. Полный список — на странице возможностей.
Что значит «на веб-стандартах» на практике?
То, что труднее всего переносить, написано на стандартах, которые есть в любом современном рантайме и браузере:
- API — это Hono: обработчик получает
Requestиз Fetch и возвращаетResponse. - Хеши паролей и подписи курсоров пагинации — на Web Crypto.
- Обновления в реальном времени идут по обычному WebSocket.
- Всё — ES-модули.
Сегодня серверы работают на Deno 2 в Docker. 9 октября 2026 года команда Deno объявила ещё год ежемесячных выпусков с исправлениями и обновлениями безопасности, после чего собственная разработка Deno заканчивается. Поскольку большая часть Seed уже говорит на стандартах, запуск без изменений на Deno, Node и Bun — это работа по краям, а не переписывание. Это задача #623, пока без даты. Deno Deploy Seed никогда не использовал, так что его закрытие продукт на Seed не затрагивает.
Это фреймворк?
Нет, и это сделано нарочно. Seed — шаблон: вы создаёте из него свой репозиторий и меняете что
угодно. Нет API плагинов, который надо учить, и нет обновления, которое тихо сломает ваш код.
Части, полезные любому проекту, выходят маленькими
пакетами @spy4x/* на JSR, а более поздние исправления самого Seed
приходят в ваш продукт патчем, который вы просматриваете сами
(как это устроено).
Кому подойдёт Seed?
Берите, если начинаете веб-продукт для нескольких пользователей (инструмент для команды, кабинет клиента, небольшое B2B-приложение) и хотите, чтобы вход, разделение клиентов, оплата и эксплуатация были решены до фичи, ради которой продукт и затевался. Он подходит разработчику-одиночке или небольшой команде, которым проще держать свой сервер, чем пачку ежемесячных подписок.
Не берите, если деплоите в serverless-функции, хотите, чтобы эксплуатацией занимался чужой готовый бэкенд, или пишете скрипт для одного пользователя. Seed запускает Postgres, Valkey и свои воркеры на сервере, за которым смотрите вы. В этом и обмен: больше контроля и ровный счёт, а обновления ставите вы сами.
Если сравниваете с другими стартерами, на странице сравнения есть два из них, с ценами и датой, когда я их проверял.
Сколько стоит Seed?
Нисколько. Лицензия MIT, без платной версии и без ключа. Платите вы только за сервер; я посчитал его до цента в посте От git clone до продакшена на одном сервере Hetzner.
Попробуйте
Быстрее всего — живое демо: нажмите «Попробовать без аккаунта» и пощёлкайте по заметкам команды. Когда захотите запустить у себя, после клонирования это две команды, и Как установить Seed и запустить его локально проведёт по ним. Код — на github.com/spy4x/seed; звезда там говорит мне, что продолжать стоит.