Перейти к содержимому

Каталог-справочник без кода: как собрать его нейросетью

Каталог-справочник без кода собирается по описанию: какие объекты в нём лежат, какие поля есть у карточки и по чему пользователь фильтрует. Zugo генерирует список, карточки, поиск и фильтры, проверяет сборку в песочнице и публикует по ссылке. Записи живут либо прямо в сборке, либо в подключённой базе.

Каталог кажется простым проектом ровно до момента, когда в него нужно добавить сотую запись. Дальше всё решает не дизайн карточки, а то, где эти записи хранятся и кто их вносит.

Чем справочник отличается от обычного списка?

Списком можно назвать любую страницу с перечислением. Справочником он становится, когда у записей появляется одинаковая структура и по ней можно искать.

Признаков три. У каждой записи один и тот же набор полей, а не свободный текст. Есть способ сузить выборку: категория, город, цена, тег. И есть страница отдельной записи, на которую можно дать ссылку.

Отсюда следует практический вывод. Прежде чем писать промпт, соберите десять настоящих записей в таблице. Не придуманных, а тех, которые вы реально хотите опубликовать. Поля, которые вы заполните у всех десяти, и есть структура карточки. Поля, которые заполнились у двух из десяти, в карточку не идут: они превратятся в пустые места и сломают вид списка.

Типовые справочники, которые собирают чаще всего: подборка сервисов или инструментов в нише, каталог мастеров и специалистов по городу, список мероприятий, база курсов, реестр компаний отрасли, подборка вакансий, каталог локаций для съёмок.

Из чего состоит карточка в справочнике?

Из полей двух типов, и их полезно разделять с самого начала.

Первый тип это поля для фильтрации: категория, город, ценовой диапазон, формат, теги. Они короткие, повторяются и берутся из закрытого списка значений. Именно они превращают страницу в справочник. Если вы позволите вносить их свободным текстом, через месяц в базе окажутся «Москва», «москва» и «г. Москва», и фильтр перестанет работать.

Второй тип это поля для чтения: описание, фото, ссылка на сайт, контакты, цена, часы работы. Они живут внутри карточки и не участвуют в отборе.

Поле Тип Зачем
Название Чтение Заголовок карточки и страницы
Категория Фильтр Главный способ сузить выборку
Город или район Фильтр Второй по частоте запрос пользователя
Короткое описание Чтение Строка в списке, чтобы не открывать карточку
Ссылка на источник Чтение Ради неё справочник и открывают
Теги Фильтр Уточнение внутри категории
Дата обновления Чтение Признак того, что справочник живой

Последняя строка недооценена. Справочник без даты обновления читается как заброшенный, даже если вы правили его вчера.

Какой промпт написать для каталога?

Опишите объект, поля и способы отбора, а не «сделай каталог». Заготовка:

Каталог-справочник: [что собираем, например студии звукозаписи города].
Карточка записи: название, категория, район, короткое описание,
цена от, телефон, ссылка на сайт, фото, теги, дата обновления.
Категории: [список].
Разделы:
1. Первый экран: что за справочник, сколько в нём записей, строка поиска.
2. Список: карточки с фото, названием, категорией, районом и ценой от.
3. Фильтры: категория, район, цена, теги. Работают вместе.
4. Страница записи: все поля, ссылка на источник, кнопка «сообщить об ошибке».
5. Форма «добавить запись»: заявка приходит мне на почту.
Сортировка по умолчанию: сначала недавно обновлённые.
Пустая выдача показывает подсказку, а не пустоту.

Последние две строки экономят целый раунд правок. Каталог без явной сортировки собирается в том порядке, в котором вы перечислили записи, а пустой результат фильтра без подсказки выглядит как поломка.

Где хранить записи: в сборке или в базе?

Два маршрута, и выбор зависит от того, кто и как часто вносит записи.

Прямо в сборке. Записи лежат в коде проекта, изменения вносятся правкой в чате: «добавь в каталог студию Х со всеми полями». Просто, дёшево, ничего не настраивается. Разумно до нескольких десятков записей, которые меняются редко и вносите их только вы.

В базе через коннектор Supabase. Записи лежат в вашей таблице Postgres, сайт их читает. Появляется возможность вносить их не через сборку, а прямо в базе, подключить вход для редакторов и выгрузить всё в CSV. Как это подключается, разобрано в гайде про AI-приложение с Supabase.

Практическое правило простое. Пока справочник наполняете вы один и записей меньше пятидесяти, база лишняя. Как только записи начинают вносить другие люди или их становится больше, переезд в базу окупается на первой же неделе.

Как принимать и модерировать новые заявки?

Форма «добавить запись» превращает справочник из вашего личного списка в проект, который растёт сам. Но публиковать заявки без проверки нельзя: справочник ценен именно тем, что кто-то проверил записи.

Рабочая схема на старте самая простая. Форма собирает поля и отправляет письмо вам через коннектор Resend. Вы читаете, проверяете ссылку и добавляете запись сами. Это ручная работа, но она честно масштабируется до нескольких заявок в день и не требует ничего настраивать.

Следующий уровень это база со статусом записи: «на модерации» и «опубликовано». Сайт показывает только опубликованные, вы меняете статус в дашборде Supabase. Здесь уже видно, что каталог со временем становится небольшим внутренним инструментом, и логика у него та же, что у доски обратной связи или у внутреннего сервиса компании.

Ещё одна кнопка, которую стоит поставить сразу: «сообщить об ошибке» на странице записи. Справочники устаревают тихо, и читатели замечают это раньше владельца.

Сколько стоит собрать справочник?

Кредиты списываются за действие. Одностраничная сборка стоит 6 кредитов. Многостраничный проект считается как платформа: 12 кредитов за первые три страницы и по 3 за каждую следующую. Правка стоит 3.

Что собираем Страниц Кредитов
Список с фильтрами на одной странице 1 6
Главная, Список, Страница записи 3 12
Плюс форма добавления и раздел о проекте 5 18
Одна правка, например добавить фильтр по цене нет 3

Режим Hi-Fi удваивает эти числа: сборка 12, правка 6. Free даёт 5 кредитов, этого не хватает даже на одну сборку. Pro стоит $25 в месяц и даёт 200 кредитов. Business стоит $99 в месяц.

Как сделать так, чтобы справочник находили?

У каталога есть преимущество перед обычным сайтом: он отвечает на длинные конкретные запросы вроде «студии звукозаписи с барабанной комнатой в [район]». Но работает это только при одном условии: у каждой записи должна быть своя страница со своим адресом.

Каталог, где все записи живут в одном списке и открываются во всплывающем окне, выглядит современно и не находится вообще. Никакая запись не имеет отдельного адреса, значит на неё нельзя ни сослаться, ни попасть из поиска.

Отсюда три требования, которые стоит заложить в промпт с самого начала. Отдельная страница на каждую запись с говорящим адресом. Осмысленный заголовок страницы, где есть название записи и категория. Страница на каждую категорию, а не только общий список с фильтром, потому что именно категорию чаще всего и ищут.

Четвёртое требование про содержание: пишите своё описание записи, а не копируйте текст с сайта компании. Каталог из чужих описаний это набор дубликатов, у которого нет причин занимать чьё-то место в выдаче.

Чего такой каталог не сделает?

Три границы, о которых лучше знать заранее.

Он не наполнит себя данными. Билдер соберёт интерфейс справочника, но записи собираете вы. Это основная работа в проекте, и она не автоматизируется промптом.

Он не потянет десятки тысяч записей без проектирования. Каталог на пару тысяч строк с фильтрами работает нормально. Большая база с полнотекстовым поиском, картой и постраничной выдачей требует нескольких раундов правок и разработчика рядом, если нагрузка серьёзная.

Он не решит вопрос авторских прав на контент. Собирать чужие описания и фотографии в свой справочник это юридическое решение, а не техническое. Ссылка на источник и собственный текст описания снимают большую часть риска.

Если справочник в итоге разрастается до сайта с разделами, статьями и страницами категорий, полезен отдельный разбор про многостраничный сайт нейросетью.

С чего начать?

Соберите десять настоящих записей в таблице, выпишите поля, которые заполнились у всех десяти, и опишите каталог одним абзацем. Первая сборка покажет, работает ли ваша структура, честнее любого плана. Опубликуйте её, поживите с ней неделю и добавьте фильтры, которых не хватило. Начать можно на zugo.dev.

← Все статьи