Приложение работает ровно до первого живого пользователя
Чек-лист обкатки: пять блоков, где вайбкод-проекты ложатся чаще всего, промпт под каждый и двадцать минут ручной проверки перед запуском.
В карусели я перечислил пять мест, где вайбкод-проекты ложатся на первом живом человеке. Здесь — чек-лист: что именно проверять в каждом блоке, каким промптом, и что пройти руками перед тем, как пускать людей.
Почему это вообще происходит
Демка врёт. Ты неделю нажимал одни и те же кнопки в одном и том же порядке, вводил корректные данные и ждал сколько нужно. Так живой человек не делает.
Он вводит не то, жмёт дважды, загружает файл не того формата, открывает на телефоне с плохой связью, уходит в середине оплаты и возвращается через час. Ни один из этих сценариев нейросеть не заложила — не потому что глупая, а потому что ты просил «сделай сервис», а не «сделай так, чтобы он не лёг».
Обкатка — это отдельная стадия работы. Полчаса, которые окупаются первым же не потерянным клиентом.
Блок 1. Ошибки
Что проверяем: видит ли человек внятное объяснение вместо пустого экрана.
Промпт:
«Найди все места, где что-то может пойти не так: неверный ввод, потеря связи, недоступный внешний сервис, пустой ответ. Для каждого покажи, что сейчас увидит пользователь. Где он видит пустой экран или техническую ошибку — предложи человеческий текст»
На что смотреть: сообщение должно говорить, что произошло и что делать дальше. «Ошибка 500» не говорит ни того, ни другого.
Блок 2. Ожидание
Что проверяем: понимает ли человек, что процесс идёт.
Промпт:
«Найди все действия, которые выполняются дольше секунды. Покажи, что видит пользователь всё это время. Добавь индикатор и защиту от повторного нажатия — чтобы пять кликов не создали пять записей»
Двойная отправка — самая обидная поломка. Она не выглядит как поломка: заказ создаётся, деньги списываются, просто пять раз.
Блок 3. Границы
Что проверяем: что происходит на краях.
Промпт:
«Определи границы: максимальный размер файла, длина текста в каждом поле, количество записей на пользователя, частота запросов. Покажи, где сейчас границ нет вообще, и предложи разумные значения с понятным сообщением при превышении»
Отдельно проверь формы, доступные без входа. Всё, что открыто миру, за неделю найдут боты.
Блок 4. Доступы
Что проверяем: может ли один человек увидеть данные другого.
Промпт:
«Пройдись по всем местам, где данные запрашиваются по идентификатору. Для каждого проверь, есть ли проверка прав: что будет, если подставить чужой идентификатор. Отдельно покажи, что доступно вообще без входа»
Это самая частая дыра вайбкод-проектов. Работает так: адрес заканчивается на номер записи, ты меняешь цифру и видишь чужой заказ. Проверяется за минуту руками.
Блок 5. Деньги
Что проверяем: совпадает ли «оплата прошла» с «доступ открылся».
Промпт:
«Разбери путь оплаты по шагам. Что происходит, если пользователь закрыл вкладку сразу после оплаты, если уведомление от платёжной системы не дошло, если оно пришло дважды. Покажи, где деньги могут списаться без выдачи доступа»
Человек, который заплатил и не получил доступ, редко пишет тебе в личку. Он пишет в комментарии.
Двадцать минут руками
Промпты находят дыры в коде, но часть вещей видно только глазами. Быстрый проход перед запуском:
- открыть на телефоне, не на своём компьютере
- ввести кириллицу в поле, которое ждёт латиницу, и наоборот
- нажать главную кнопку три раза подряд
- в адресе поменять номер записи на соседний
- пройти оплату и в момент перехода закрыть вкладку
- вернуться на страницу через час — сессия жива или всё потеряно
Каждый пункт занимает минуту. Все шесть находят больше, чем час чтения кода.
Что делать с найденным
Не чинить всё сразу. Сначала то, что теряет деньги и данные: блоки 4 и 5. Потом ожидание и ошибки — они бьют по доверию, но не по кошельку. Границы можно закрыть после первых живых пользователей, когда станет видно, куда реально давят.
И запомни главный промпт этой стадии — он один заменяет половину списка:
«Пройдись по проекту как злой пользователь и покажи, где я лягу»
Порядок сборки, который снижает шанс дойти до такой стадии с кашей, я разбирал здесь: Пятнадцать промптов по стадиям сборки. А про откат, без которого страшно чинить, — здесь: Полный доступ нейросети.
Почему проверка руками не заменяется тестами
Тесты проверяют то, о чём ты подумал. Живой пользователь ломает то, о чём ты не подумал, — и делает это в первые пять минут.
Классический пример: человек вставляет в поле текст с эмодзи и переносами строк, потому что скопировал из мессенджера. Или нажимает кнопку дважды, потому что первый раз ничего не произошло. Или открывает страницу с телефона в метро, где связь появляется и пропадает.
Ни один из этих сценариев не приходит в голову тому, кто собирал приложение и знает, как им пользоваться правильно. Поэтому двадцать минут неудобных действий руками ловят больше, чем час написания тестов.
Порядок, в котором ломается чаще всего
По моему опыту, распределение примерно такое.
Первое место — состояние ожидания. Запрос идёт три секунды, интерфейс молчит, человек жмёт ещё раз. Дальше начинается всё остальное.
Второе — границы данных. Пустое поле, слишком длинный текст, ноль, отрицательное число, дата из прошлого века.
Третье — доступы. Работает у тебя, потому что ты уже авторизован. У пришедшего по ссылке — нет.
Четвёртое — деньги. Оплата прошла, а страница не обновилась. Или прошла дважды.
Пятое — ошибки. Сообщение вида «что-то пошло не так» без единого намёка, что делать дальше.
Проверять стоит именно в этом порядке: он совпадает с вероятностью встретить проблему.
Частые вопросы
Почему приложение работает у меня и падает у пользователя?
Потому что ты ходишь по нему единственным правильным маршрутом и в уже авторизованном состоянии. Живой человек приходит с чистого браузера, вводит данные не того формата и нажимает кнопки в другом порядке.
Сколько времени занимает проверка перед запуском?
Двадцать минут осознанно неудобных действий закрывают большую часть рисков. Это дешевле, чем разбираться с последствиями после того, как первый пользователь ушёл.
Что проверять в первую очередь?
Состояние ожидания и повторные нажатия — на них ломается чаще всего. Потом границы данных, доступы, оплату и понятность сообщений об ошибках.
Можно ли автоматизировать эту проверку?
Да, после того как один раз прошёл её руками и знаешь, что именно проверяешь. Тогда список превращается в навык, который проходит по проекту сам и приносит перечень дыр перед каждым запуском.
Если хочешь проверять это автоматически
Один раз пройденная руками проверка становится списком, который дальше стоит превратить в постоянную часть работы: отдельный навык проходит по проекту сам, по одной команде, и приносит список дыр перед каждым запуском.
Как собрать такой фундамент под свой проект за вечер — это [МИКРО-ПРОДУКТ]: [ССЫЛКА-МИКРО]
Это только фундамент. А дальше?
Как собрать первый скилл под себя, построить контент-завод, привести трафик и превратить подписчика в оплату — разбираю по шагам в Telegram. Честный дневник стройки с нуля.
📲 Зайти в канал и идти рядом 🔥