Фаундеры спрашивают меня «сколько стоит MVP?», и я даю честный ответ: зависит. Потом просят диапазон, я говорю €8K–€25K для solo-разработчика, и они вежливо кивают, по-прежнему не понимая, за что платят.
Этот пост — та версия, которую я хотел бы прочитать, когда был по другую сторону. Реальный проект, анонимизированный, но без изменений в объёме и часах. Каждая статья расходов, каждый блок часов, каждое решение, которое сдвинуло цену вверх или вниз.
Итого: €12,200. Вот куда ушёл каждый евро.
Проект
B2B SaaS для логистического стартапа. Три пользовательские роли (админ, диспетчер, водитель), один основной воркфлоу (назначение и трекинг заданий), интеграции с Google Maps и платёжным провайдером. Только веб-приложение, без мобилки.
Таймлайн: 8 недель. Фиксированный скоуп, биллинг по майлстоунам.
Разбивка
| Фаза | Часы | Стоимость | % от общей |
|---|---|---|---|
| Дискавери и спецификация | 12 | €960 | 8% |
| Дизайн-система + UI-кит | 16 | €1,280 | 10% |
| Авторизация + управление пользователями | 14 | €1,120 | 9% |
| Основной воркфлоу (CRUD + стейт-машина) | 28 | €2,240 | 18% |
| Интеграция с картами | 10 | €800 | 7% |
| Платёжная интеграция | 12 | €960 | 8% |
| Дашборд + аналитика | 14 | €1,120 | 9% |
| Email-уведомления | 6 | €480 | 4% |
| Деплой + CI/CD | 6 | €480 | 4% |
| Тестирование + QA | 16 | €1,280 | 10% |
| Подготовка к запуску + передача | 8 | €640 | 5% |
| Буфер (использован на изменения скоупа) | 10 | €800 | 7% |
| Итого | 152 | €12,160 | ~100% |
Эффективная ставка: €80/час. Контракт был на фиксированные майлстоуны, не почасовой — но часы — это то, как я скоупил внутренне.
Разберу, что означает каждая строка.
Фаза за фазой
Дискавери и спецификация (12ч, €960)
Перед написанием кода я пишу спецификацию. Не документ на 40 страниц — бриф на 3–5 страниц, который покрывает:
- Три ключевых пользовательских флоу, описанных как пошаговые истории
- Набросок модели данных (какие сущности существуют, как связаны)
- Список интеграций со ссылками на документацию API
- Что явно вне скоупа
- Критерий успеха: «MVP готов, когда [одно предложение]»
Эта фаза обычно экономит 20–30 часов дальше по проекту. Каждая неоднозначность, пойманная здесь, — это изменение скоупа, которого удалось избежать позже. Спецификация становится приложением к контракту — обе стороны соглашаются, что значит «готово», до того, как написана первая строка кода.
Дизайн-система + UI-кит (16ч, €1,280)
Не полный дизайн-хэндофф из Figma. Функциональная дизайн-система: цветовые токены, типографическая шкала, отступы, библиотека компонентов на Tailwind. Достаточно, чтобы каждый экран выглядел консистентно без дизайнера на каждый экран.
Для этого проекта: тёмный сайдбар-лейаут, таблицы данных с сортируемыми колонками, паттерны форм, модальные окна, тост-уведомления. Я собираю это как переиспользуемые React-компоненты, а потом собираю из них экраны.
Почему 16 часов? Потому что если сэкономить здесь — каждый последующий экран будет занимать на 30% дольше. Дизайн-система — это инвестиция, которая окупается к 3-й неделе.
Авторизация + управление пользователями (14ч, €1,120)
Три роли, email/пароль авторизация, сброс пароля, управление сессиями. Я использовал NextAuth (теперь Auth.js) с Postgres-адаптером.
14 часов звучит как много для «просто логина». Вот что реально внутри:
- Регистрация с верификацией email
- Логин с rate limiting
- Сброс пароля с экспирацией токена
- Ролевой middleware (админ видит всё, диспетчер — свою зону, водитель — свои задания)
- Логика обновления сессии
- Страница настроек аккаунта (смена пароля, обновление профиля)
Авторизация — одна из тех вещей, которые занимают 4 часа, если пропустить крайние случаи, и 14 часов, если их обработать. Пропустить крайние случаи — значит получить тикеты в поддержку на 2-й неделе.
Основной воркфлоу (28ч, €2,240)
Самая большая строка. Это то, что приложение реально делает — назначение и трекинг заданий.
Диспетчер создаёт задание (точка забора, точка доставки, временное окно, детали груза). Система находит доступных водителей в зоне. Диспетчер назначает. Водитель принимает или отклоняет на своём дашборде. Задание проходит через состояния: создано → назначено → принято → в работе → завершено.
28 часов, потому что:
- Стейт-машина с 6 состояниями и 8 переходами, каждый с правилами валидации
- CRUD для заданий, водителей, зон
- Обновления статуса в реальном времени (polling, не WebSocket — решение уровня MVP)
- Фильтрация/поиск/сортировка в списке заданий диспетчера
- Массовые операции (назначить 10 заданий за раз)
- Крайние случаи: что происходит, если водитель отклоняет? Уходит в офлайн посреди задания? Диспетчер отменяет?
Здесь большинство MVP либо перестраивают (добавляя фичи, о которых никто не просил), либо недостраивают (пропуская крайние случаи, которые сломаются в первую неделю). Спецификация из Фазы 1 — то, что держит это в фокусе.
Интеграция с картами (10ч, €800)
Google Maps API для двух вещей: показ локаций водителей на карте и расчёт предполагаемого времени доставки.
10 часов, потому что API хорошо задокументирован, а крайние случаи — нет:
- Ограничения API-ключей (HTTP referrer для фронтенда, IP для бэкенда)
- Фолбэки геокодинга, когда адреса неоднозначны
- Rate limiting на бесплатном тарифе
- Отображение 50+ маркеров без убийства производительности на мобилке (кластеризация)
Платёжная интеграция (12ч, €960)
Stripe для ежемесячного выставления счетов диспетчерам на основе объёма заданий.
Не простой чекаут — это биллинг по потреблению:
- Metered billing: подсчёт завершённых заданий за биллинг-период
- Stripe webhooks для подтверждения оплаты и обработки отказов
- Генерация PDF-счетов
- Логика grace period (что происходит, когда платёж не проходит?)
- Переключение Stripe тест-мод → продакшн (звучит тривиально, это не так)
Дашборд + аналитика (14ч, €1,120)
Админский дашборд: задания за день/неделю/месяц, процент завершения, среднее время доставки, выручка по водителю, тепловая карта зон.
Все графики рендерятся на сервере (без клиентской библиотеки визуализации). Агрегация данных работает в Postgres через materialized views, обновляемые каждые 15 минут. Это держит дашборд быстрым без сложности реального времени.
Email-уведомления (6ч, €480)
Транзакционные письма через Resend: задание назначено, задание завершено, платёж получен, сброс пароля. У каждого письма есть plain-text фолбэк, и оно протестировано в Gmail, Outlook и Apple Mail.
6 часов, потому что HTML для email застрял в 1999-м, и каждый клиент рендерит по-своему.
Деплой + CI/CD (6ч, €480)
Vercel для Next.js-приложения. Supabase для Postgres. GitHub Actions для CI (lint, typecheck, тесты на каждый PR). Управление переменными окружения для staging vs production.
6 часов, потому что большая часть — шаблонная работа, которую я уже делал. Время уходит на конфигурацию под конкретный проект, не на развёртывание инфраструктуры.
Тестирование + QA (16ч, €1,280)
Интеграционные тесты для основного воркфлоу (создание задания → назначение → завершение). E2E-тесты для авторизации. Ручной QA по трём пользовательским ролям на десктопе и мобилке.
16 часов = 10% от общего. Я не выпускаю ниже 10%. Тесты ловят регрессии, когда я делаю изменения на 6-й неделе, которые ломают что-то со 2-й.
Подготовка к запуску + передача (8ч, €640)
- Настройка продакшн-окружения
- DNS-конфигурация
- SSL-сертификаты
- Настройка мониторинга (Sentry)
- Документация: как деплоить, как добавить нового водителя, как управлять биллингом
- 1-часовой воркстру с фаундером
Буфер (10ч, €800)
Каждый проект имеет изменения скоупа. Фаундер понимает посреди разработки, что водителям нужна загрузка фото подтверждения доставки. Или что в дашборде нужен экспорт в CSV.
Я закладываю 7–10% буфера. Этот проект использовал 10 часов буфера на: фото подтверждения доставки (4ч), CSV-экспорт (3ч) и шорткат «дублировать задание», о котором попросил диспетчер (3ч).
Что двигает цену
Три рычага, которые сдвигают аналогичный проект от €8K до €25K:
Интеграции. В этом проекте было 2 (Maps + Stripe). Каждая интеграция добавляет 8–15 часов. Проект с 5 интеграциями (платежи + карты + email + SMS + синхронизация календаря) легко добавляет €3K–€5K.
Роли и права. В этом проекте 3 роли с простыми правилами. Проект с 6 ролями, вложенными правами и аудит-логированием добавляет 20–30 часов только к авторизации.
Требования реального времени. Этот проект использовал polling (просто, дёшево). WebSocket для живого трекинга водителей, живой доски заданий и пуш-уведомлений добавил бы 30–40 часов. Я собрал это для E7 — реально, но не дёшево для MVP.
Что бы я урезал, чтобы уложиться в €8K
Если бы фаундер сказал «у меня €8K, а не €12K» — вот что я бы вывел из скоупа:
- Аналитический дашборд → заменить простым Postgres-запросом, который фаундер запускает вручную. Экономия 14ч.
- Платёжная интеграция → выставлять счета вручную первые 3 месяца, добавить Stripe, когда объём биллинга это оправдает. Экономия 12ч.
- Буфер → оставить, но меньше. 5ч вместо 10ч.
- Email-уведомления → отправлять с личного адреса через Resend, без брендированных шаблонов. Экономия 3ч.
Это ~34 часа / €2,700 экономии. Приложение всё ещё работает, всё ещё решает ключевую проблему, но фаундер делает больше вручную в первые месяцы.
Это реальный трейдофф MVP: не «какие фичи пропустить?», а «какую работу я готов делать вручную, пока автоматизация не окупит себя?»
Вывод для фаундеров
Когда вы получаете предложение на €12K или €15K или €20K — просите разбивку. Не «фронтенд, бэкенд, тестирование» — это ни о чём не говорит. Просите пофазовые часы. Спрашивайте, что в буфере. Спрашивайте, что урежут, если бюджет на 20% ниже.
Разработчик, который может ответить на эти вопросы, реально думал над вашим проектом. Тот, кто не может — оценивает на ощущениях.
Если вы хотите такой уровень разбивки для своего проекта — конкретные фазы, конкретные часы, конкретные трейдоффы — запишитесь на скоупинг-звонок. Я скажу, сколько это стоит, и что я бы урезал, чтобы уложиться в ваш бюджет.