Как сделать приложение опроса без кода: ответы и база
Приложение опроса собирается из описания: перечислите вопросы, типы ответов, порядок экранов и место, куда сохраняются результаты. Билдер соберёт интерфейс примерно за минуту, проверит его в песочнице и опубликует на адрес вида <slug>.zugo.run. Сборка стоит 6 кредитов, каждая правка 3, хранение ответов подключается через Supabase.
Опрос выглядит простой задачей ровно до вопроса «а где лежат ответы». Именно на нём самодельные опросы обычно и заканчиваются: интерфейс собрался, кнопка нажимается, а данные никуда не пишутся.
Чем приложение опроса отличается от формы?
Форма отправляет один набор полей одним нажатием. Приложение опроса ведёт человека по шагам, помнит его ответы, меняет следующий вопрос в зависимости от предыдущего и показывает прогресс.
Разница видна в цифрах прохождения. Длинная форма из двадцати полей на одном экране пугает и закрывается. Те же двадцать вопросов по одному на экран с полоской прогресса проходятся заметно чаще, потому что каждый следующий шаг выглядит маленьким.
Второе отличие в данных. Форма присылает письмо, и через сто ответов у вас сто писем. Приложение пишет строки в таблицу, и через сто ответов у вас таблица, которую можно посчитать, отфильтровать и выгрузить.
Отсюда правило выбора: если вопросов меньше пяти и ответов ждёте десятки, вам нужна форма. Если вопросов больше десяти, есть ветвления или ответы нужно анализировать, вам нужно приложение с базой.
Куда складывать ответы?
Это первое решение, и оно определяет всё остальное. Рабочий вариант для самодельного опроса это таблица в Supabase: одна строка на прохождение, колонки под ответы, время создания.
Схему стоит продумать до сборки. Самая частая ошибка это колонка на каждый вопрос: через две недели вы добавите пятый вопрос и упрётесь в изменение структуры. Универсальнее хранить ответы одним полем в формате ключ-значение и добавлять вопросы без миграций.
Второе решение это идентификатор прохождения. Без него вы не отличите два ответа одного человека от ответов двух разных людей, и любая аналитика будет приблизительной. Достаточно случайного идентификатора, который создаётся на первом экране и живёт до последнего.
Как подключается база, какие таблицы создаются и почему правила доступа нужно проверять руками, разобрано в статье про приложение с Supabase. Для опроса это важнее обычного: таблица с ответами по умолчанию не должна быть доступна на чтение всем.
Как описать опрос в промте?
Билдеру нужны сами вопросы, типы ответов и поведение между экранами. Чем конкретнее список, тем меньше правок потом.
Собери приложение опроса [название].
Экраны: приветствие, вопросы по одному на экран, финальный экран.
Вопросы:
1. [текст вопроса]: один выбор из [варианты].
2. [текст вопроса]: несколько выборов из [варианты].
3. [текст вопроса]: шкала от 1 до 10.
4. [текст вопроса]: свободный текст, до 500 символов.
Показывать полоску прогресса и номер шага.
Кнопка «Назад» сохраняет уже данные ответы.
Ответы сохранять в Supabase, таблица responses: id прохождения,
время, ответы в формате ключ-значение.
Финальный экран: благодарность и что будет дальше.
Оформление: один вопрос крупно, минимум лишнего, работает на телефоне.
Строка про кнопку «Назад» решает частую претензию: человек нажимает назад, чтобы поправить ответ, и теряет всё введённое. Как формулировать такие требования, разобрано в гайде как писать промт для ИИ-билдера.
Как задать логику переходов между вопросами?
Ветвления описываются словами, но описывать их надо как правила, а не как пожелания. Билдер хорошо понимает конструкцию «если ответ на вопрос N равен X, то следующий вопрос M, иначе K».
Практический совет: рисуйте ветвления списком до сборки, а не в голове. Три условия превращаются в шесть возможных путей, и половина ошибок в опросах это тупики, из которых человек не может выйти на финальный экран.
Очень специфичную логику лучше доводить правками, а не закладывать целиком в первый промт. Соберите линейный опрос, проверьте, что ответы пишутся, и добавляйте по одному ветвлению за правку. Каждая правка стоит 3 кредита и не ломает то, что уже работает.
Обязательно проверьте два пути руками: самый короткий и самый длинный. Именно на них обычно всплывает вопрос, который задаётся дважды, или экран, который не ведёт никуда.
Сколько кредитов стоит приложение опроса?
Zugo списывает кредиты за действия. Сборка стоит 6 кредитов, правка 3, многостраничная платформа 12 за первые три страницы и по 3 за каждую следующую.
| Что собираем | Что получается | Кредитов |
|---|---|---|
| Линейный опрос с сохранением ответов | Работающее приложение | 6 |
| Опрос плюс страница результатов и страница о проекте | Три страницы | 12 |
| Добавить ветвление или новый вопрос | Одна правка | 3 |
| Экран с итогами для администратора | Ещё одна правка или сборка | 3 или 6 |
Режим Hi-Fi стоит вдвое: сборка 12, правка 6. Для внутреннего опроса он не нужен, для публичного исследования с брендом иногда оправдан.
Free даёт 5 кредитов, это меньше одной сборки, поэтому бесплатного тарифа не хватит даже на первую версию. Pro стоит $25 в месяц и даёт 200 кредитов, Business стоит $99 в месяц.
Как повысить долю дошедших до конца?
Самый дорогой показатель опроса это доля людей, которые начали и закончили. Она почти целиком определяется двумя вещами: длиной и честностью первого экрана.
Напишите на приветственном экране число вопросов и примерное время. «Восемь вопросов, около двух минут» удерживает лучше, чем ничего, потому что человек принимает решение один раз, а не заново на каждом шаге.
Уберите обязательность там, где можете. Каждый вопрос со звёздочкой это точка, в которой человек закрывает вкладку, если ответа у него нет. Обязательными оставьте два-три, от которых зависит смысл всей выборки.
Свободный текст ставьте в конец. Он самый трудозатратный, и если он третий по счёту, до десятого вопроса дойдут единицы. В конце же его заполняют охотнее, потому что жалко бросать почти пройденный опрос.
Что с анонимностью и персональными данными?
Здесь нужно быть аккуратным, потому что опрос почти всегда собирает больше, чем кажется. Свободное текстовое поле в анонимном опросе регулярно содержит имена, должности и детали, по которым человек узнаётся.
Три правила, которые стоит заложить сразу. Не спрашивайте того, что вам не понадобится: каждое лишнее поле это обязательство по хранению. Напишите на первом экране, что именно вы собираете и что с этим будет. И если опрос заявлен анонимным, не пишите в базу ничего, что связывает строку с человеком.
Техническая часть тоже на вас. Таблица с ответами не должна читаться публично, а страница с результатами не должна открываться по прямой ссылке без входа. Билдер соберёт то, что вы описали, но он не проведёт аудит ваших правил доступа.
Каждая сборка запускается в песочнице перед выдачей, и та, что не открылась, помечается как неудачная. Это проверка того, что приложение стартует, а не подтверждение того, что ваши данные защищены.
Когда честнее взять готовый конструктор форм?
У готовых конструкторов есть сильные стороны, и делать вид, что их нет, бессмысленно. Сравнение по существу.
| Что нужно | Готовый конструктор | Своё приложение |
|---|---|---|
| Быстро собрать опрос из десяти вопросов | Сильнее: шаблоны и логика из коробки | Одна сборка и правки |
| Готовая аналитика и графики по ответам | Сильнее: считает и рисует сам | Отдельная работа |
| Свой дизайн и свой домен | Ограничено тарифом | Полностью ваше |
| Нестандартная логика и расчёты внутри опроса | Упирается в возможности конструктора | Доводится правками |
| Данные в своей базе, а не у сервиса | Обычно нет | Да, таблица ваша |
| Экспорт кода и переезд | Нет | Да, выгрузка в GitHub |
Практический вывод: разовое исследование на двадцать вопросов быстрее и дешевле собрать в готовом конструкторе. Своё приложение выигрывает там, где опрос становится частью продукта: встроен в интерфейс, считает результат по вашей формуле, пишет в вашу базу и живёт на вашем домене.
С чего начать?
С линейной версии на пять вопросов, которая пишет ответы в таблицу. Это 6 кредитов и час. Пройдите её сами с телефона и посмотрите, появилась ли строка в базе: это единственная проверка, которая имеет значение на старте.
Дальше добавляйте по одному: ветвление, экран результатов, выгрузку. Каждая правка стоит 3 кредита, и такой порядок надёжнее, чем попытка описать весь опрос одним длинным промтом.
Логика сборки приложений с данными в целом разобрана в статье как создать приложение нейросетью. Опишите свои вопросы одним списком на zugo.dev и начните с того, чтобы ответы действительно куда-то сохранялись.