MVP на Lovable или v0 в продакшн: что AI не доделал
Alla Kuchynskaya · Senior Product Designer
· 8 мин чтения
Коротко: чтобы довести приложение из Lovable или v0 до продакшна, перестаньте проверять счастливый сценарий и пройдитесь по всему, чего не было на демо: пустые состояния, загрузка, ошибки и офлайн, реальные данные, расползание дизайна между экранами, тексты, онбординг, доступность, ощущение скорости и детали доверия вроде цен и разрешений. А потом вырежьте лишнее. AI собрал видимые 20%. Эта статья про остальное.
Почему приложение на вайб-кодинге выглядит шаблонно и дёшево?
Фаундеры приносят мне MVP, собранные за выходные: красивые и одинаковые. Дело не в Lovable или v0 как таковых. Модель заполняет каждое решение, которое вы не приняли, средним по интернету и не помнит, что выбрала вчера. Поэтому пятый экран потихоньку уезжает от первого.
Ощущение «дёшево» редко возникает из-за визуального стиля. Оно складывается из мелких несостыковок, которые человек не может назвать, но чувствует: два вида кнопок для одного действия, спиннер на одном экране и скелетон на соседнем, ошибка, написанная другим голосом. По отдельности ерунда. Вместе они говорят: у этого продукта нет хозяина.
Демо срабатывает один раз. Продукт работает без вас
AI-демо должно сработать один раз, пока рядом автор, который знает, куда не нажимать. Продукт должен работать, когда рядом никого нет: пустой аккаунт, имя из 40 символов, связь, которая обрывается посреди оплаты.
AI сделал почти бесплатными первые 20%, то, что видно на созвоне. Состояния, пустые экраны, пограничные случаи и «пятый экран, который живёт по другим правилам» никуда не делись. Раньше они прятались за медленным первым шагом. Теперь первый шаг занимает час, и вся эта работа вылезает разом.
Аудит перед продакшном
Я сама собираю продукты в Lovable, v0 и Cursor, и этот список прохожу, прежде чем назвать что-то продуктом. Большинство пунктов проверяется минут за десять. Исправлять дольше, но вы хотя бы будете точно знать, где находитесь.
| Зона | Что AI обычно упускает | Как проверить за 10 минут | Как исправить |
|---|---|---|---|
| Пустые состояния | Пустой список или «Нет данных» для новичка | Зарегистрироваться с нового аккаунта и открыть каждый экран | Объяснить ценность и дать одно следующее действие |
| Загрузка | Ничего, пока грузятся данные, или спиннеры везде | Включить медленный 4G в DevTools и прокликать | Скелетоны для контента, загрузка на самой кнопке, без прыжков вёрстки |
| Ошибки | «Что-то пошло не так» или тихий сбой | Отправить кривые данные, выключить Wi-Fi посреди действия | Сказать, что случилось, что делать и что введённое сохранилось |
| Офлайн и прерывания | Потерянные данные формы, двойные отправки | Обновить страницу посреди флоу, дважды нажать «Оплатить» | Сохранять черновики, блокировать кнопку после нажатия, не допускать двойных списаний |
| Реальные данные | Вёрстка под «Иван Иванов» и три элемента | Вставить имя из 40 символов, проверить 0 и 1000 элементов | Правила обрезки и переноса, пагинация, лимиты |
| Расползание дизайна | Разные отступы, кнопки и названия для одного и того же | Положить рядом пять экранов, собранных в разные дни | DESIGN.md или минимальная дизайн-система, затем привести всё к ней |
| Тексты | «Отправить», «Продолжить», безликий тон | Прочитать вслух только кнопки и ошибки, по порядку | Кнопка говорит, что будет дальше, один голос на весь продукт |
| Онбординг | Стена регистрации, потом пустой дашборд | Засечь время незнакомого человека от лендинга до первой пользы | Сначала первый полезный результат, потом все вопросы |
| Доступность | Светло-серый текст, мелкие зоны нажатия, нет фокуса | Пройти приложение только с клавиатуры, проверить контраст | База WCAG 2.2: контраст текста 4.5:1, видимый фокус, подписи у полей |
| Ощущение скорости | Каждый экран ждёт самый медленный запрос | Выписать действия дольше секунды | Показывать контент по мере загрузки, прогресс для долгих задач |
| Доверие | Размытые цены, оплата без итога, разрешения на старте | Пройти от тарифов до оплаты глазами скептика | Понятная цена и условия, экран подтверждения, разрешения в контексте |
| Доступ к данным | Открытые правила базы | Попросить разработчика проверить правила доступа и ключи | Исправить до того, как звать реальных пользователей |
Дальше про пункты, которым не хватает одной строки.
Состояния и есть продукт
У любого действия, которое ходит на сервер, минимум три исхода: грузится, получилось, сломалось. AI обычно строит второй. А решают, доверять ли вам, как раз в первом и третьем.
Отдельно про пустое состояние. Это первый экран, который видит каждый новый пользователь, и последний, который видит фаундер: его собственный аккаунт забит тестовыми данными. Пустой экран лучший момент объяснить ценность, а не место для «Здесь пока ничего нет».
Как остановить расползание дизайна: записать решения
Модель начинает каждый запрос с нуля. Без записанных правил вы каждый день получаете немного другой продукт. В апреле 2026 года Google Stitch выложил в открытый доступ формат DESIGN.md: Markdown-файл в репозитории, где описаны правила дизайна, и агент читает их до того, как что-то строить.
В хорошем DESIGN.md есть токены (цвета, шрифты, отступы, скругления), компоненты и когда какой использовать, как выглядят пустые состояния, загрузка и ошибки, как продукт разговаривает и чего он не делает никогда. Вкус стал файлом. Но записать можно только то, что уже решено, так что файл это результат дизайнерской работы, а не замена ей.
Тексты: пишу последними, проверяю первыми
AI пишет тексты интерфейса правильные, гладкие и безликие. Я долго считала текст деталью, пока метрики не показали: одна фраза на кнопке сдвинула конверсию сильнее, чем перерисованный экран.
Хорошая кнопка говорит, что произойдёт дальше: «Отправить заявку, ответим в течение дня». «Что-то пошло не так» самая честная фраза, которую продукт может сказать о том, что о пользователе не подумали. Каждую ошибку стоит переписать так, чтобы она отвечала на два вопроса: что случилось и что мне теперь делать.
Скорость, которую чувствуют
Пользователь не меряет загрузку в миллисекундах. Он ждёт. Три порога времени отклика Якоба Нильсена по-прежнему работают: около 0,1 секунды ощущается как мгновенно, около 1 секунды не рвёт ход мысли, а примерно на 10 секундах внимание уходит и нужен понятный прогресс. Показывайте каркас страницы сразу, подгружайте в него контент и держите кнопки отзывчивыми, даже когда сервер задумался.
Доверие: цены, оплата, разрешения, данные
Доверие в основном состоит из скучных мелочей. Перед оплатой человек хочет знать цену, что в неё входит, когда спишут деньги и как отменить. Прежде чем мобильное приложение попросит геолокацию или уведомления, нужна причина, в контексте и в тот момент, когда это действительно нужно.
Данные тоже часть доверия. В 2025 году исследователь нашёл 303 уязвимых эндпоинта в 170 проектах на Lovable с отсутствующей или слабой row-level security, уязвимость получила номер CVE-2025-48757. Чинит это разработчик, но проверить до запуска это продуктовое решение.
Что вырезать перед запуском
После месяца работы над продуктом с AI я заметила: он ни разу не сказал «это плохая идея». В команде всегда было сопротивление: дизайнер говорил «люди не поймут», разработчик «это дорого». AI даёт исполнение, а не сопротивление. Баг падает, и его видно. Плохое решение, хорошо реализованное, выглядит как прогресс.
Поэтому я вырезала примерно треть того, что собрала за выходные. Продукт не уменьшился. Он собрался. Мой фильтр для каждой фичи:
- Помогает ли она человеку дойти до первого полезного результата?
- Заметит ли кто-нибудь её отсутствие в первую неделю?
- Она здесь, потому что нужна пользователям, или потому что её было легко сгенерировать?
Почему первый рабочий кусок я собираю сама
Раньше я отдавала макеты. Теперь собираю первый рабочий кусок в Lovable, v0 или Cursor. Макет никогда не сопротивляется. Собранный экран сопротивляется сразу: состояние, о котором я не подумала, загрузка на две секунды, реальный текст, который не влезает. Раньше это находил разработчик через неделю, в виде доработок. Теперь я нахожу за час, пока это ещё решения. Я не стала инженером. Я стала дизайнером, которому реальность отвечает сразу.
Когда звать дизайнера и о чём его спросить
Продакт-дизайнер нужен, когда прототип работает, но выглядит дёшево; когда люди регистрируются и отваливаются на онбординге; когда каждая новая фича ощущается как отдельное приложение; или перед тем, как показывать продукт инвесторам и платящим клиентам.
Вопросы, которые стоит задать на первом созвоне:
- «Что бы вы отсюда убрали?» У хорошего дизайнера есть ответ, с аргументами.
- «Покажите, какие пустые состояния, загрузку и ошибки вы бы сделали для нашего основного флоу».
- «Можете работать прямо в нашем проекте в Lovable или в репозитории, или только в Figma?»
- «Как AI-инструмент останется консистентным, когда вы уйдёте?» Ищите в ответе дизайн-систему или DESIGN.md.
- «Что вы проверили бы в нашем онбординге первым и почему?»
Когда я собеседую дизайнеров, меня меньше интересует, какими инструментами они владеют, и больше, что они отбрасывают и почему. Одинаковый промпт даёт одинаковый результат. Вы платите за суждение.
Частые вопросы
Как довести приложение из Lovable до продакшна?
Проведите аудит за пределами счастливого сценария: пустые состояния, загрузка, ошибки и офлайн, реальные данные, консистентность экранов, тексты, онбординг, доступность и оплата. Попросите разработчика проверить правила доступа к базе. Затем вырежьте фичи, которые не ведут к первому полезному результату.
Почему приложение из v0 или Lovable выглядит шаблонно?
Модель заполняет каждое непринятое решение самым частым паттерном и не помнит прошлых выборов. Запишите правила в дизайн-систему или DESIGN.md и сделайте один внятный визуальный выбор вместо дефолтов.
Кого нанимать, чтобы исправить приложение на вайб-кодинге: дизайнера или разработчика?
Обычно обоих, под разные задачи. Разработчик закрывает безопасность, данные и производительность. Продакт-дизайнер отвечает за состояния, флоу, онбординг, консистентность и за то, что продукт должен и не должен делать.
Можно ли дальше собирать в Lovable после работы дизайнера?
Да, если дизайнер оставил записанные правила: токены, компоненты, паттерны состояний и голос продукта. Без них следующие промпты снова поедут к среднему.
Алла Кучинская (Alla Kuchynskaya), Senior Product Designer и AI Product Builder, 12+ лет в стартапах, сама собирает рабочие MVP в Lovable, v0 и Cursor. Вела UI в VOCHI (App of the Day в 126 странах, приложение купил Pinterest), переделала онбординг и ключевые флоу в Findmykids (55M+ скачиваний, +18% к удержанию). Работает частично, на полную занятость или проектно, удалённо с Бали. Портфолио: alla.studio · Telegram: @aladesigner.
Об авторе
Alla Kuchynskaya · Senior Product Designer
alla.studio · LinkedIn · Telegram · Resume