Привет, меня зовут Леша Шамшур, я разработчик ПО LiSeller. Еще недавно я думал, что разработка IT-продукта стоит денег — от 4–5 млн рублей в месяц, и собрать приличный MVP «на коленке» не получится. Но оказалось, что реализацию любого стартапа можно сильно удешевить благодаря low-code-инструментам.
Да, разработчики скептически относятся к таким инструментам, отдавая предпочтение классическому коду, но они идеальны для быстрой проверки гипотезы. Например, у меня от идеи до реализации MVP прошел всего месяц. В статье расскажу, что получилось реализовать и как сильно low-code помог сэкономить деньги и время.
Увидел перспективную нишу, где нет большой конкуренции
Изначально я решил заняться продвижением на LinkedIn, потому что увидел перспективную нишу, которая еще не переполнена. Людей в соцсети достаточно — у них хватает времени, чтобы делиться своим мнением, и нет проблем с деньгами. Поэтому LinkedIn можно использовать, чтобы продвигать свои продукты: достаточно мелькать у подходящих в обсуждениях, тешить самолюбие читателей, знакомиться и потом рассказывать о своем стартапе.
Схема простая: человек пару раз видит тебя в комментариях, запоминает аватарку, начинает узнавать. И когда ты приходишь в сообщения с предложением, он не испытывает негатив. Думает: «О, я его знаю, интересно, что там написал?».
Поэтому я решил автоматизировать комментирование в LinkedIn. Сделать так, чтобы программа отслеживала, когда конкретные люди выкладывают посты, и уведомляла об этом — чтобы не приходилось делать все это вручную. |
Начинал с Google-таблиц, но результат огорчил
Попробовал реализовать идею, используя готовые решения. Сначала у нас была табличка с профилями пользователей, которую заполняли данными через Google Apps Script.
Делал это следующим образом: запускал сценарий PhantomBuster на Nodul, который собирал данные по нужным профилям за небольшие деньги, и результаты обогащения автоматически добавлялись в таблицу. Однако в этом процессе было все еще много «работы ручками» — и меня это не устраивало.
![Так выглядела наша Google-таблица — с профилями пользователей и предложениями для них, сформированными на основании их постов Так выглядела наша Google-таблица — с профилями пользователей и предложениями для них, сформированными на основании их постов](https://habrastorage.org/getpro/habr/upload_files/31d/fc4/ac1/31dfc4ac1ba5f38932c260804b697d29.png)
![Вот как выглядит цепочка действий для поиска постов через PhantomBuster на Nodul Вот как выглядит цепочка действий для поиска постов через PhantomBuster на Nodul](https://habrastorage.org/getpro/habr/upload_files/831/866/66f/83186666f7ce4801bd3f406dfa3104b6.png)
Сценарий автоматически собирает данные из LinkedIn с помощью PhantomBuster. Вы задаете, что нужно собрать (посты или комментарии), указываете ссылки на профили в Google-таблице, и сценарий запускает сбор данных. Используются готовые блоки (кубики) в платформе Nodul: ввод параметров, подготовка запроса, отправка данных и возврат результата. |
Пробовал AI для комментов
Начал генерировать какие-то более-менее осмысленные ответы при помощи искусственного интеллекта: находил пост у целевого человека, потом пропускал через AI-фильтр, проверял, что он подходит по тематике, и комментировал. Дальше делал аутрич по тем, кто прогрелся: начал лайкать, позитивно отвечать на комменты, отправил реквест на добавление.
![Так выглядят примерные ответы: не отписки, на которые люди не отвечают, а «человеческие» сообщения Так выглядят примерные ответы: не отписки, на которые люди не отвечают, а «человеческие» сообщения](https://habrastorage.org/getpro/habr/upload_files/934/7c1/688/9347c16883054599fc74cbb3b4545d23.png)
Потом запустил массовую рассылку по почтам таких пользователей 一 чтобы посмотреть на реакцию. Сделали несколько подходов с различными вариантами промтов для искусственного интеллекта. Но результат совсем не удовлетворил.
Задумка была в том, чтобы использовать содержимое этих постов из LinkedIn, например как-то на них сослаться в письмах и плавно подводить к обсуждению своего продукта. Но, к сожалению, мало кто вообще на это среагировал. И идею с почтой отложили в долгий ящик. |
Новое видение и конкретный план действий
После пары неудачных решений понял, что правильнее будет оставлять комментарии под постами напрямую. Для этого сначала нужно обучить AI подбирать варианты промтов, которые не затеряются среди сотен похожих.
Что ж, постепенно начал собирать функционал по кусочкам и автоматизировать процесс собственными силами. Выстроил различные сценарии под специфические задачи, например:
парсинг постов с помощью Headless Browser, JavaScript;
создание комментариев через GPT;
генерация ответов с помощью промтов OpenAI;
хранение данных в Supabase;
создание временной почты с доступом по API через сервис mail.™.
В дальнейшем сценарии объединил в одну систему.
Хотел получить быстрое и удобное решение
Что касается front-end, я изначально хотел получить быстрое решение. Рассматривал варианты, как Appsmith, где можно быстро собрать простой интерфейс и напрямую подключиться к базе данных, не вкладываясь в сложные вещи вроде CSS и HTML. Первую версию программы собрал из готовых компонентов, чтобы не тратить лишние ресурсы на что-то, что может не понравиться пользователям.
Каждый сценарий был упакован в отдельный кубик (сценарий внутри сценария), что позволяет легко использовать его в других проектах и экономить время.
![Тут видно, что все кубики по умолчанию доступны в Nodul: odulInput — для задания параметров сценария, JavaScript — для создания и обработки запросов, HTTP Request — для отправки запросов по HTTP и NodulOutput — для получения итогового результата Тут видно, что все кубики по умолчанию доступны в Nodul: odulInput — для задания параметров сценария, JavaScript — для создания и обработки запросов, HTTP Request — для отправки запросов по HTTP и NodulOutput — для получения итогового результата](https://habrastorage.org/getpro/habr/upload_files/53c/2a3/001/53c2a3001308713fad6823fd0379d71e.png)
![Пример встраивания в другой сценарий Пример встраивания в другой сценарий](https://habrastorage.org/getpro/habr/upload_files/423/7fb/040/4237fb040e44bdc610a94b755f94b175.png)
Еще один сценарий 一 сбор информации из LinkedIn о постах 一 реализован через Headless Browser. Сервис собирает информацию о постах в удобную форму и возвращает опять же в виде кода для Output, который я дальше использую.
![Вот как выглядит сценарий сбора информации из LinkedIn о постах через Nodul Вот как выглядит сценарий сбора информации из LinkedIn о постах через Nodul](https://habrastorage.org/getpro/habr/upload_files/214/db2/1e3/214db21e3153a3a8a66da5247cd06f0b.png)
![Пример аргументов сценария по поиску постов указанной учетной записи Пример аргументов сценария по поиску постов указанной учетной записи](https://habrastorage.org/getpro/habr/upload_files/20c/782/2ba/20c7822ba10caf400c156073cca1314c.png)
![Пример результатов работы сценария по поиску постов указанной учетной записи Пример результатов работы сценария по поиску постов указанной учетной записи](https://habrastorage.org/getpro/habr/upload_files/567/108/aa8/567108aa8a012c29e370b74edffff7ac.png)
Весь back-end сервиса был сделан на Nodul: каждый из сценариев записан в базу. У каждого раздела есть отдельная папка с соответствующим статусом. |
Главный плюс Nodul 一 возможность использовать сценарии повторно
Как уже говорил, у платформы, которую я использую, есть одно большое преимущество — возможность создавать сценарии внутри сценариев. Это реально упрощает работу, экономит время и позволяет многократно использовать уже готовые блоки в разных местах автоматизации. Плюс в Nodul много возможностей: что-то можно сделать прямо внутри, а остальное — через JavaScript и HTTP-запросы.
Когда я настраивал сценарий отправки сообщений через Mailgun, использовал разные модули: Input, Output, WebHook, Request и другие. Круто, что все это можно реализовать в одиночку, без необходимости привлекать команду разработчиков.
![Сценарий отправки сообщений через Mailgun по почте Сценарий отправки сообщений через Mailgun по почте](https://habrastorage.org/getpro/habr/upload_files/c1e/058/2cc/c1e0582cc9899ccddbba2bc39a4f4cdc.png)
Допиливаю функционал, но первые результаты уже есть
Сейчас я активно развиваю LiSeller, основываясь на отзывах клиентов. Учитываю, чего им не хватало, сравниваю с тем, что есть на рынке, и внедряю новые фичи. Доход пока небольшой, но планирую довести процесс до полной автоматизации и заработать больше. Тогда пользователю нужно будет просто зайти в учетную запись LinkedIn и дальше собрать лиды.
Я начал сам использовать LiSeller для продвижения своего аккаунта, и вот что получилось ⬇️
![Посты стали собирать на 1100% больше охвата и реакции от аудитории Посты стали собирать на 1100% больше охвата и реакции от аудитории](https://habrastorage.org/getpro/habr/upload_files/8d3/efc/78b/8d3efc78b9eff25f50af3859688ad55d.png)
Сейчас LiSeller уже в новой редакции, но продолжает работать с low-code инструментами, такими как отправка писем по почте или запусками каких-то процессов по расписанию, но в основном приложение уже самодостаточное.
Но, в любом случае, рад, что на старте выбрал low-code, потому что это реально помогло сэкономить. Рекомендую такие платформы, чтобы проверять, зайдет ли продукт и нужен ли он рынку. В начале это вообще must have — экономит кучу времени и денег. Плюс продукт может собрать один человек, и не нужно нанимать целую команду разработчиков.
А вы как относитесь к low-code? Считаете зашкваром или верите, что за ним будущее?
Комментарии (5)
kitsunoff
20.08.2024 07:34+1А почему взяли Nodul вместо self-hosted n8n?
Deathsslave Автор
20.08.2024 07:34ну я изначально не хотел запариваться с хостингом, а решение для облака у n8n прилично дороже. К тому же у Nodul внутри есть Headless Browser, который я использовал в Liseller, плюс там офигенный AI-ассистент, большую часть кода я через него написал.
voronoff2803
20.08.2024 07:34В n8n, еще нельзя делать запросы в сеть из блока с кодом python/js. В дальнейшем это может стать проблемой
Sasha_Danilov
Есть какие-то опции, чтоб бесплатно потестировать liseller?
Deathsslave Автор
Да, вижу вашу регистрацию, начислил туда 20 кредитов для теста. Если кому-то нужно - пишите email, с которого регились, я добавлю