Как сделать доску вакансий без кода: пошаговый гайд
Как сделать доску вакансий без кода: пошаговый гайд
Опишите три вещи обычным текстом: поля вакансии, как работодатель публикует объявление и как кандидат откликается. Подключите Supabase для базы и входов, и билдер соберёт экраны. Доска считается платформой: 12 кредитов за первые три страницы и по 3 за каждую следующую. Оплату от работодателей закрывает Stripe.
Сложность доски вакансий никогда не была в софте. Она в том, что нужны и вакансии, и читатели, причём одно должно появиться раньше другого. Соберите самую маленькую доску для аудитории, которая у вас уже есть, а не универсальный портал, куда никто не заходит.
Какую доску вакансий вы на самом деле собираете?
Форм три, и они требуют разных сборок. Кураторская доска, где все вакансии публикуете вы сами, самая простая: одна таблица, одна форма, никаких аккаунтов работодателей. Большинство небольших досок начинают отсюда, и многие так и остаются.
Самообслуживаемая доска, где работодатели регистрируются, публикуют и платят, это уже полноценное приложение. Ей нужны авторизация, шаг модерации, платёжный поток и админский экран. Всё это тяжелее, и смысл появляется только тогда, когда работодатели просятся сами, а не после уговоров.
Агрегатор, который тянет вакансии с других сайтов, это четвёртая история и в основном юридическая с инженерной, а не дизайнерская. Сгенерированное приложение здесь неподходящий инструмент, и этот гайд его не покрывает.
Какую модель данных описать?
Доску держат три объекта. Выпишите поля до того, как откроете билдер: добавить поле потом это дешёвая правка, а менять форму модели, когда в базе уже лежат настоящие вакансии и отклики, дёшево не будет.
- Вакансии. Название, компания, город, формат (офис, гибрид, удалённо), тип занятости, вилка зарплаты с валютой, описание, способ отклика, дата публикации, дата снятия, статус.
- Компании. Название, логотип, описание одной строкой, сайт, контактный адрес.
- Отклики. Имя кандидата, почта, ссылка или файл, сообщение, вакансия, дата, статус.
Два поля решают, будет ли доска полезной. Вилка зарплаты, потому что доску с зарплатами читают, а доску без них пролистывают. И дата снятия, потому что ничто не убивает доверие к доске быстрее, чем главная страница из вакансий, закрытых ещё весной.
Что написать в промпте сборки?
Собери доску вакансий для [ниша], домен [домен].
Вход через Supabase. Две роли: админ и работодатель.
Объекты:
- Вакансия: название, компания, город, формат (офис/гибрид/
удалённо), тип (полная/проект/частичная), вилка зарплаты
в долларах, описание, способ отклика, дата публикации,
дата снятия, статус (черновик/опубликована/снята)
- Компания: название, логотип, описание, сайт, почта
- Отклик: имя, почта, ссылка, сообщение, вакансия, дата, статус
Экраны:
1. Доска: опубликованные вакансии, сначала новые, фильтр
по городу, формату и типу, поиск по названию
2. Страница вакансии: описание, зарплата, блок компании, отклик
3. Публикация: форма работодателя, сохраняется как черновик
и ждёт одобрения админа
4. Кабинет работодателя: свои вакансии и число откликов
5. Админ: одобрить или отклонить черновики, снять вакансию
Вакансии снимаются автоматически в дату снятия.
Зарплаты всегда в долларах. Даты в формате ГГГГ-ММ-ДД.
Строка про черновик и одобрение админа здесь самая ценная. Немодерируемая доска за несколько недель наполняется рекрутинговым спамом, а прикрутить модерацию задним числом заметно дороже, чем попросить её сразу.
Сколько стоит собрать доску вакансий?
Доска это не одна страница, а платформа: 12 кредитов за первые три экрана и по 3 за каждый следующий. В таблице те же три формы, что описаны выше, с реальной стоимостью.
| Сборка | Экранов | Кредитов | Что даёт |
|---|---|---|---|
| Кураторская доска | 3 | 12 | Публикуете вы, аккаунтов работодателей нет |
| Самообслуживаемая | 5 | 18 | Работодатели публикуют, вы одобряете |
| Полная доска | 6 | 21 | Плюс админский экран с откликами |
| Одна правка после сборки | нет | 3 | Новый фильтр, другая формулировка, другая сортировка |
Free даёт 5 кредитов, это меньше стоимости одного экрана, поэтому бесплатный тариф про осмотреться, а не про запуск. Pro стоит $25 в месяц за 200 кредитов, и именно там живёт цикл правок. Business стоит $99 в месяц. Про многостраничные сборки подробнее в статье многостраничный сайт нейросетью.
Как брать деньги с работодателей?
Через Stripe, и самая работающая модель это фиксированная плата за публикацию. Ей не нужны подписки, подсчёт мест и перерасчёты, и именно так берут деньги большинство небольших досок. Опишите это как «оплата переводит вакансию из черновика в опубликованную», и платёж станет частью публикации, а не отдельным поручением.
Два усложнения приходят позже, когда работодатели возвращаются во второй раз. Выделенная вакансия по повышенной цене, а это булево поле и правило сортировки. И подписка для агентств, которые публикуют постоянно, что Stripe поддерживает напрямую. Детали коннектора описаны в статье оплата через Stripe в AI-приложении.
Не берите деньги до появления трафика. Доска без читателей не продаёт публикации ни за какие деньги, и обычная последовательность такая: сначала публикации бесплатно, потом, когда работодатели начали приходить сами, умеренная плата, которая отсеивает наименее серьёзных.
Как устроены отклики и где они лежат?
Вариантов два, и выбирать стоит осознанно. Внешняя ссылка на отклик уводит кандидата в систему работодателя: у вас не остаётся данных, но и работы тоже. Форма внутри доски оставляет отклики в вашей базе, что полезнее и одновременно ответственнее.
Если отклики принимаете вы, Supabase хранит их в настоящей базе Postgres под вашим аккаунтом, а входы работодателей дают каждому доступ только к своим вакансиям. Resend пишет работодателю письмо при новом отклике. Настройка разобрана в статье AI-приложение с Supabase.
Отклики это персональные данные, поэтому правило хранения определяется до запуска, а не после первого запроса на удаление. Кто видит отклик, сколько он хранится и что происходит с ним после снятия вакансии, это три предложения, которым место и в промпте, и в политике конфиденциальности.
Заодно закройте цикл по отказам. Доска, где работодатель может отметить отклик как закрытый, а кандидат получает одну строку об этом, зарабатывает больше доброжелательности, чем любое решение по оформлению. Это одно поле статуса и один шаблон письма.
Чего сгенерированная доска вакансий не сделает?
- Не соберёт вакансии с других сайтов. Парсинг и приём фидов это инженерная работа с юридическими краями, и ни один промпт не сделает её ответственно.
- Не подключится к системе учёта кандидатов. Передача откликов в конкретную ATS через её API это работа разработчика. Выгрузите код в GitHub и передайте, проект ваш.
- Не даст поиск на масштабе. Фильтры и поиск по названию работают. Ранжированный полнотекстовый поиск по десяткам тысяч вакансий это другая система.
- Не приведёт трафик. Сборка занимает вечер. Аудитория и есть настоящий проект, и она меряется месяцами.
Zugo не заменяет команду разработки, когда доска превращается в бизнес с оборотом. Что он делает хорошо, так это быстро выводит работающую модерируемую доску перед узкой аудиторией, чтобы выяснить, нужна ли она ей вообще.
Откуда взять первые вакансии?
Это и есть настоящая работа, и она делается руками. Пустая доска не собирает ни работодателей, ни кандидатов, поэтому первые пятнадцать или двадцать вакансий вы находите и публикуете сами, до того как кто-то узнает о существовании доски.
Источников три, и все они не требуют разрешения. Карьерные страницы компаний вашей ниши, где вакансии опубликованы открыто и ссылка ведёт на их же форму отклика. Профильные чаты и сообщества, где работодатели пишут «ищем человека» без всякой доски. И прямые письма десяти компаниям, которые вы знаете лично, с предложением опубликовать вакансию бесплатно.
Важное правило на этом этапе: публикуйте только те вакансии, которые действительно открыты сегодня. Доска, где половина позиций закрыта, теряет доверие с первого визита, и вернуть его дороже, чем набрать аудиторию заново. Поле «дата снятия» существует именно для этого, и проходить по списку раз в неделю нужно вручную, пока объём небольшой.
Второй по важности шаг это канал доставки. Доска, которую надо открывать самому, проигрывает доске, которая раз в неделю присылает пять вакансий письмом. Resend закрывает рассылку технически, а дисциплина выпуска остаётся на вас, и именно она отличает доску, которую читают, от доски, которую однажды открыли.
С чего запускаться?
С кураторской доски: страница со списком вакансий, страница вакансии и форма публикации, доступная только вам. Это 12 кредитов. Найдите руками пятнадцать настоящих вакансий, покажите доску сообществу, которое у вас уже есть, и посмотрите, вернётся ли кто-нибудь через неделю.
Вернулись значит добавляйте публикацию для работодателей и оплату. Не вернулись значит вы потратили вечер, а не квартал. Если доска соседствует с торговой площадкой, посмотрите разбор как сделать маркетплейс без кода. Начать можно на zugo.dev.