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

Биржи фриланса так устроены, что время реакции имеет решающее значение. Откликаясь на заказы через полдня или позже, ты уже становишься в ряды 20-30 конкурентов. Да и заказчик уже оффлайн. Я сам иногда размещаю заказы и знаю, что после размещения объявления ты еще какое-то время находишься на сайте, либо просто какое-то время не закрываешь вкладку. Собственно, отклик в течении первых 15 минут, по моему опыту, выигрышнее раза в 2.

Какой же самый современный способ доставки мгновенных оповещений о заказах? Да еще и чтобы недорогой был, несложный в разработке. Так как мы уже писали множество решений для телеграм, вконтакте и вайбер — нам сразу же пришел в голову чат-бот.

Не хочется, чтобы эта история была “одной из”, поэтому постараюсь наполнить ее какими-то мелочами и деталями. А ведь они, зачастую, важны.


Впоследствии, при тестах первого бота, выяснилось, что формат ленты заказов в чат-боте имеет огромное число преимуществ для такого мониторинга. Ведь мессенджер помечает в ленте заказов место, откуда начинаются непрочитанные, саму ленту можно быстро скроллить. Причем скроллить в любом месте. В метро, вечером за просмотром ТВ в фоновом режиме. Перед сном, если бессонница мучает. А заинтересовавшие тебя заказы ты можешь выделить через массовое выделение и переслать себе в Избранное. И эту подборку разгрести потом уже с ПК. В общем-то, формат оказался жутко рабочим. А создателям телеграм спасибо за отличную синхронизацию ленты сообщений между устройствами. Граница непрочитанных сообщений тоже синхронизируется. Разумеется, бота лучше замьютить, чтобы звуковые сигналы каждые пять минут (а именно такой интервал парсинга сейчас) — не раздражали.

Само собой, бот это по сути фронтенд сервиса. На бэкграунде пришлось писать парсеры, фильтры. Благо все ресурсы относительно публичные и многие выдают короткую инфу о заказах без авторизации. Каких-то сложных манипуляций не потребовалось. Все на node js. Для парсинга html — cheerio, для самого бота — telegraf.

Сложности были с прокси, так как ряд ресурсов все же обнаружили факт парсинга, и забанили IP-адрес.

Парсер писался специфично для каждого проекта. У одних нужно ставить таймаут между парсингом страницы, у других ограничение на сессии с одного ip, поэтому нужно хранить сессию и сбрасывать ее раз в день, те у кого был REST очень удобные для парсинга, сразу можно на API стучаться, у других DOM дерево парсить. Был еще забавный момент, когда одна из площадок поменяла API, причем без сохранения совместимости. И это в момент,, когда наш микросервис был уже готов. Не повезло, ну что ж, пришлось адаптироваться. Попутно нашли баги в новом API и отрапортовали в техподдержку :)

Со стыковкой бота и личного кабинета с биллингом, решили не мудрить. Простейшая БД на MySQL и timestamp “оплачено до”, который выставляется после регистрации на 3 дня вперед (бесплатный период) и на месяц вперед после покупки платного тарифа.
Регистрация там без подтверждения почты и если кому-то интересно — это можно протестить в 2 клика, написав рандомную почту вася майл ру — вот здесь.

Сам кабинет наш дизайнер Саша Женжурист нарисовал в figma за день.

image

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

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

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

Когда все наконец-то было собрано и проверено нашими ребятами, мы стали проводить первые тесты на живой аудитории. Их мы совместили с доработками — объявление по верстке фильтров разместили на популярных фриланс-площадках. Так и верстальщика нового нашли, и сервис немного попиарили. Ведь в задании было указано — посмотрите детально сервис. Опять же, можно назвать это лайфхаком. Но прямое попадание в целевую аудиторию и взлет яндекс-метрики в те дни имели место.

В ближайших планах небольшие SEO-манипуляции, размещение пресс-релизов. Возможно, кому-то из вас, кто ищет заказы на фрилансе — наш ботик @fl_bot_ru_bot будет полезен. А кого-то наша история быстрого создания сервиса, вполне рабочего, хоть и упрощенного до невозможности — мотивирует на создание своих проектов. Дерзайте и вы! Всем спасибо!