Несколько бизнесов по $10K/мес — на стеке за $20 в месяц
Канадский разработчик Steve Hanov ведёт несколько прибыльных SaaS-продуктов на стеке стоимостью $20 в месяц: VPS за $5, Go, SQLite, локальный GPU для ИИ-задач. Полный разбор архитектуры и экономики бутстрэпа.
Если вы тратите на инфраструктуру больше, чем зарабатываете с продукта — возможно, вы делаете это неправильно. Канадский разработчик Steve Hanov рассказал, как запускает несколько прибыльных SaaS-продуктов на стеке стоимостью $20 в месяц. Публикуем перевод с комментариями.
Коротко
— Один VPS за $5–10/мес вместо AWS: без кластеров, без NAT Gateway, без случайных $300/мес до первого пользователя
— Go вместо Python/Ruby: один бинарник, scp на сервер, готово. 1 ГБ RAM хватает
— SQLite с WAL вместо Postgres: тысячи конкурентных пользователей на одном .db файле
— Локальный GPU (RTX 3090 за $900 с рук) для пакетных ИИ-задач вместо API-кредитов
Это перевод статьи How I run multiple $10K MRR companies on a $20/month tech stack Стива Ханова. Стив — автор websequencediagrams.com, zwibbler.com, rhymebrain.com и других продуктов. Живёт в Ватерлоо, Канада.
Вчера меня в очередной раз отвергли на питч-сессии. Это была даже не сама питч-сессия, а предварительное интервью, и проблема была не в продукте. У меня уже есть MRR. У меня уже есть пользователи, которые зависят от продукта каждый день.
Обратная связь была простой: «А зачем вам вообще финансирование?»
Я слышу это снова и снова, когда пытаюсь масштабировать свои проекты. Экономность — у меня в ДНК. Я создавал инструменты, которые вы могли использовать (например, websequencediagrams.com), и нишевые продукты, о которых вы, скорее всего, не слышали (например, eh-trade.ca). Эта одержимость эффективностью ведёт к успешному бутстрэпу — и, честно говоря, многие венчурные инвесторы это ненавидят.
Держать расходы около нуля даёт тот же ранвей, что и получение миллиона долларов инвестиций при высоком burn rate. Это менее стрессово, архитектура остаётся невероятно простой, и у вас достаточно времени найти product-market fit без давления совета директоров.
Если вам надоел «энтерпрайзный» бойлерплейт — вот конкретный набор инструментов, на котором я строю свои компании и трачу почти ничего.
Наивный способ запустить веб-приложение в 2026 году — поднять AWS, развернуть EKS-кластер, настроить RDS, сконфигурировать NAT Gateway и случайно потратить $300 в месяц до того, как хотя бы один пользователь зайдёт на лендинг.
Умный способ — арендовать один VPS. Первое, что я делаю — беру дешёвый, надёжный сервер. Забудьте про AWS: он вам не понадобится, а его панель управления — лабиринт, спроектированный для навязывания апгрейдов. Я использую Linode или DigitalOcean. Не больше $5–10 в месяц.
1 ГБ RAM звучит устрашающе для современных веб-разработчиков, но этого достаточно, если знать, что делаешь. Если нужен запас — добавьте swapfile. Цель — обслуживать запросы, а не поддерживать инфраструктуру. Когда у вас один сервер, вы точно знаете, где логи, почему он упал и как его перезапустить.
Теперь у вас есть ограничения: всего гигабайт памяти. Можно использовать Python или Ruby — но зачем? Половина RAM уйдёт на загрузку интерпретатора и управление воркерами gunicorn.
Я пишу бэкенды на Go. Go бесконечно производительнее для веб-задач, строго типизирован и — что критично для 2026 года — с ним невероятно легко работать ИИ-моделям. Но настоящая магия Go — в деплое. Нет ада зависимостей pip install. Нет виртуальных окружений. Вы компилируете всё приложение в один статически линкованный бинарник на ноутбуке, делаете scp на свой сервер за $5 и запускаете.
Если у вас где-то стоит видеокарта — у вас уже есть безлимитные ИИ-кредиты. Когда я строил eh-trade.ca, мне нужно было провести глубокое качественное исследование рынка по тысячам компаний, суммируя квартальные отчёты. Наивное решение — скормить всё это в OpenAI API и заплатить сотни долларов, а потом обнаружить баг в промпте и перезапустить всю партию.
Вместо этого я запускаю VLLM на пыльной видеокарте RTX 3090 с 24 ГБ VRAM за $900, купленной на Facebook Marketplace. Это разовая инвестиция, после которой я больше никогда не плачу провайдеру за пакетную обработку.
Путь развития для локального ИИ:
- Начните с Ollama: установка одной командой, можно перебирать десятки моделей и итерировать промпты
- Переходите на VLLM для продакшена: радикально быстрее за счёт PagedAttention, можно отправлять 8–16 асинхронных запросов одновременно
- Используйте Transformer Lab для тонкой настройки и пре-тренинга на локальном железе
Не всё можно делать локально. Иногда нужны передовые модели для пользовательских чатов с низкой задержкой. Вместо того чтобы жонглировать биллинг-аккаунтами и API-ключами Anthropic, Google и OpenAI, я просто использую OpenRouter. Одна OpenAI-совместимая интеграция — и доступ ко всем фронтирным моделям.
Важнее то, что OpenRouter обеспечивает бесшовный фоллбэк. Если API Anthropic ляжет во вторник днём (а это бывает), приложение автоматически переключится на эквивалентную модель OpenAI. Пользователи не увидят ошибку, а мне не нужно писать сложную логику повторных попыток.
Каждую неделю выходят безумно дорогие модели. Я постоянно слышу, как разработчики тратят сотни долларов в месяц на подписки Cursor и API-ключи Anthropic, чтобы ИИ писал им бойлерплейт.
А я использую Claude Opus 4.6 весь день, и мой счёт едва дотягивает до $60 в месяц. Секрет — в модели ценообразования Microsoft. Я купил подписку GitHub Copilot в 2023 году, подключил к VS Code и никуда не уходил.
Трюк, который вы могли пропустить: Microsoft каким-то образом берёт оплату за запрос, а не за токен. «Запрос» — это то, что вы вводите в чат. Даже если агент потом 30 минут перелопачивает всю кодовую базу и меняет сотни файлов, вы платите примерно $0,04.
Оптимальная стратегия: пишите подробные промпты с чёткими критериями успеха (что и так хорошая практика), скажите агенту «продолжай, пока все ошибки не будут исправлены», нажмите Enter и идите варить кофе, пока Сатья Наделла субсидирует ваши вычисления.
Я всегда начинаю новый проект с SQLite в качестве основной базы данных. Это не так безумно, как кажется.
«Энтерпрайзный» менталитет требует отдельного сервера базы данных. Но правда в том, что локальный файл SQLite, работающий через C-интерфейс, на порядки быстрее TCP-хопа до удалённого Postgres.
«А как же конкурентность?» Многие думают, что SQLite блокирует всю базу при каждой записи. Это не так — нужно просто включить Write-Ahead Logging (WAL):
Читатели больше не блокируют писателей. Писатели больше не блокируют читателей. Теперь можно спокойно обслуживать тысячи конкурентных пользователей с одного .db файла на NVMe-диске.
Индустрия хочет убедить вас, что для настоящего бизнеса нужны сложная оркестрация, огромные счета AWS и миллионы венчурного капитала. Это не так.
Один VPS, статически скомпилированные бинарники, локальный GPU для пакетных ИИ-задач и сырая скорость SQLite — этого достаточно, чтобы бутстрэпить масштабируемый стартап, который стоит дешевле нескольких чашек кофе в месяц. Вы добавляете бесконечный ранвей проекту, давая себе время решать реальные проблемы пользователей, а не потеть над burn rate.
FAQ
Это реально работает в масштабе?
Автор — не теоретик: websequencediagrams.com и zwibbler.com — реальные продукты с платящими пользователями. Подход работает до определённого масштаба (тысячи пользователей, не миллионы). Когда вы перерастёте один сервер — у вас уже будет доход на масштабирование.
Почему Go, а не Rust?
Автор выбирает Go за простоту деплоя (один бинарник) и лёгкость для ИИ-ассистентов. Rust дал бы ещё лучшую производительность, но за счёт скорости разработки — критичного фактора для соло-разработчика.
А что насчёт бэкапов SQLite?
SQLite с WAL позволяет делать бэкапы без остановки приложения — достаточно скопировать файл .db и .db-wal. Для автоматизации подойдёт Litestream — он стримит изменения в S3-совместимое хранилище в реальном времени.
Оригинал: How I run multiple $10K MRR companies on a $20/month tech stack — Steve Hanov.