Как российский разработчик создал сервис для публикации в соцсетях с месячной прибылью $3700 Статьи редакции
Российский разработчик Алекс Московский опубликовал в американском блоге Hacker Noon историю о том, как он разрабатывал SaaS-платформу для сбора и публикации записей в социальных сетях Postio, которая спустя 14 месяцев после запуска стала приносить ежемесячно по $3700. Редакция vc.ru публикует перевод материала с разрешения автора.
Я хочу поделиться опытом разработки SaaS c помощью набора LAMP, который вышел на ежемесячную прибыль в $3700. До обвала рубля он приносил мне $7000 в месяц.
У этой истории нет ничего общего с инвесторами, золотой лихорадкой Кремниевой долины и супер-современными технологиями. Я сделал сервис для внутреннего российского рынка, но мне кажется, что мой опыт универсален, и может быть реализован где угодно.
Три года назад я решил заняться SMM. Самым простым способом мне казалось создать собственную группу в определенной нише и попытаться увеличить количество подписчиков. В то время конкуренция на Facebook уже была высока, поэтому я решил начать со «ВКонтакте». Я специально выбрал популярную нишу, потому что планировал учиться, а не доминировать на рынке.
Немного отступая, скажу о том, что группы во «ВКонтакте» были (и остаются, даже в свете последнего затягивания гаек) процветающей экосистемой, и приносят своим создателям прибыль. Facebook давным-давно задушил этот рынок на своей платформе. И мне показалось, что бардак во «ВКонтакте» — это идеальное окружение, чтобы учиться и экспериментировать.

Вернемся к группе. Первое, на что я обратил внимание — необходимость постоянно искать контент для публикаций. Чаще всего это была картинка плюс несколько строчек текста, и большинство групп просто копировало контент у своих конкурентов. Которые, в свою очередь, копировали его из других источников. Обычно это был авторский контент, который было сложно вычислить и сослаться на оригинал. Иногда это был откровенный плагиат.
Как бы то ни было, я всегда терпеть не мог ручной труд, и решил сделать небольшой инструмент, который помог бы мне собирать публикации конкурентов и регулярно публиковать их в моей группе.
У «ВКонтакте» опрятный API, поэтому все было суперлегко. Я собрал много записей и с помощью небольшого интерфейса удалил неподходящие — например публикации с ссылками, нецензурной лексикой, неинтересные (где было мало лайков и комментариев), а также те, которые явно нарушали авторские права.

У меня получился инструмент для сбора и публикации записей со своей собственной базой данных популярного контента в моей нише. С его помощью я буквально не терял ни минуты на контент-стратегию и мог сфокусироваться на маркетинге — а ведь именно это и было моей главной целью.
И хотя я старался не светиться, один из моих конкурентов обратил внимание на необычно стабильный и постоянный поток качественных публикаций в моей группе и стал задавать вопросы. Я объяснил ей суть продукта, и она предложила продать ей доступ к сервису за $200. Я выдвинул встречное предложение: пусть лучше она будет ежемесячно покупать подписку. Она согласилась, и с этого все началось.
Разработка MVP
У моего «сырого» инструмента не было ничего, что должно было быть у зрелого веб-сервиса, за исключением функциональности. Тем не менее, одно крупное преимущество все же было: она уже была подтверждена. Поэтому я мог основательно вложиться в инфраструктуру, ведь очевидно, что пользователи со временем попросили бы меня добавить поддержку других соцсетей, а не только «ВКонтакте».
По опыту своего предыдущего стартапа я знал, что мне нужна продуманная система сбора статистики и логов, чтобы отслеживать и исправлять все возможные баги так быстро, как я только могу. И я понимал, что их будет много, ведь если твой сервис зависит от другой платформы, то ее проблемы становятся твоими.
Being asked a lot about collecting the stats for projects — what I usually collect. The answer is, as much as I can. Here is an example. pic.twitter.com/iLRmU6gfha
— Alex Moskovski (@mskvsk) February 2, 2017
Я составил краткий список функций для MVP. Но он получился достаточно длинным, поскольку я решил включить вещи, которые я обычно избегаю в MVP, такие как поддержка автоплатежей и все дополнительные интерфейсы. Ниже я отметил то, что мне требовалось, и то, что получилось в итоге.
Платежный сервис
Поскольку мой стартап должен был работать на российском рынке, я выбрал один из самых популярных здесь платежных сервисов — Robokassa. Я мог бы выбрать Stripe, но этот сервис не работает в России. Конечно, есть лазейка: можно воспользоваться платформой Stripe Atlas, открыть компанию в штате Делавэр по упрощенной схеме и проводить платежи через нее, но это дорогая и глупая затея.

Первое время сервис меня устраивал, но из-за высокой комиссии позднее я сменил его на «Яндекс.Кассу».
Рубрикатор контента
Я решил начать с трех самых популярных ниш: «бизнес и мотивация», «общий контент для мужчин» и «общий контент для женщин». Для этого я собрал пикантный микс из общедоступного контента, предположительно авторского контента и записей из групп-партнеров, которые дали мне разрешение на публикацию при условии, что на изображении будет вотермарк их логотипа. Этого было достаточно для старта.
Система публикации
«ВКонтакте» была первой и, пожалуй, самой крупной соцсетью, которую было необходимо поддерживать моему продукту. Тем не менее, я понимал, что со временем мне придется поддерживать Facebook, Twitter и «Одноклассники», поэтому я решил внедрить для них «костыли». Со временем я создал функцию, которая с помощью CRON job через каждые 15 минут обращалась через API подключенных соцсетей к необходимым группам. Вот ее макет.
Согласен, он выглядит очень кустарно и непрофессионально. Возможно мне следовало воспользоваться существующим решением, но я всегда говорил о том, что я не считаю себя разработчиком, и я не в курсе существующих современных решений.
Я программирую сам на базовом уровне — так быстрее и это дает мне возможность оперативно реагировать на обратную связь от пользователей. В конце концов, я с удовольствием делегирую эту задачу кому-то, кто умнее меня.
The top cause of death for indie startups is failure to delegate the tasks you're not good at and being overtaken by more social players.
— Alex Moskovski (@mskvsk) February 4, 2017
Комплексный сбор статистики и логов
В моих предыдущих проектах обычно все шло под откос из-за отсутствия необходимой информации для анализа трендов и ошибок. В этот раз я не хотел совершать ее снова, поэтому я с самого начала решил собирать как можно больше информации.

Статистики не бывает слишком много. Чтобы принимать правильные решения, необходимо собирать множество информации буквально о каждой части сервиса. Особенно если речь идет о модели ценообразования.
Система расчетов
Некоторые из подключенных соцсетей (да-да, речь идет о вас, «ВКонтакте» и «Одноклассники») не отличались надежностью, поэтому я решил отказаться от подписки и брать с пользователей плату за каждую опубликованную запись. В этом случае мне бы не пришлось беспокоиться, если бы возникли какие-то проблемы с соцсетью, и я бы не смог собрать контент для своих клиентов.
Когда у меня все было готово, настало время подумать о том, как привлечь первых клиентов.
Запуск
В то время мой бюджет был ограничен, и тратить его на платную рекламу казалось безумием. Поэтому мне предстояло придумать способ, как привлечь клиентов бесплатно.
В результате цель свелась к следующему: связаться с владельцами сообщества и не получить бан за спам. Поэтому массовая рассылка личных сообщений была не вариантом.
Однако я заметил, что во «ВКонтакте» есть одна любопытная особенность: каждый человек может предложить группе новость, а ее владелец — отредактировать материал и опубликовать. Обычно пользователи злоупотребляют этой функцией, но если подойти к делу с умом, то это может сработать.
Я составил список тематических сообществ, которые могли заинтересоваться контентом Postio (именно так я решил назвать свой сервис) и начал предлагать им такие записи:
Как владелец собственной группы я знал, какой должна быть предлагаемая публикация, чтобы привлечь внимание опытного и искушенного модератора.
Результаты оказались довольно впечатляющими: 70% владельцев сообществ зарегистрировались в Postio. Из них 60% пополнили свой баланс в системе. Некоторые даже нашли меня в социальных сетях, чтобы поблагодарить за продукт. Пожалуй, это доставило мне больше всего радости.
Владельцы сообществ также очень часто подписываются на группы конкурентов, чтобы наблюдать за трендами, публикациями и ситуацией в целом. Поэтому я опубликовал ссылку на Postio в своей собственной группе, и порекомендовал запись «конкурентам» среди моих подписчиков. Это дало мне дополнительных подписчиков и платящих клиентов. К концу месяца у меня была вот такая статистика:

Это было здорово, но я по-прежнему не решил, какую именно сумму буду брать с клиентов за публикации. Настало время разобраться и с этим.
Модель ценообразования
Я понятия не имел о том, какую цену будут готовы заплатить пользователи за такую услугу. Поэтому сперва я просто назначил $0,01 за публикацию. Однако как я уже неоднократно говорил, ценообразование «на авось» в будущем может выйти боком. Слишком высокая или слишком низкая цена могут привести к гибели проекта в долгосрочной перспективе.
Поэтому я решил применить свой обычный подход и вычислить, какая цена принесет мне больше всего выручки. Для этого я сформировал список значений цен ($0,010, $0,013, $0,016, и так далее). При регистрации каждого нового пользователя за ним закреплялось случайное число из этого списка, которое он видел во время оплаты, а я собирал статистику их поведения. Вот как это выглядит в коде:
Метод incTestValue собирал все метрики по определенной цене. Спустя некоторое время у меня на руках была статистика.
Все цены изначально были указаны в рублях, но затем я конвертировал их в доллары. Поэтому цены вроде $0,010 выглядят так странно.
Благодаря сплит-тесту я обнаружил интересные факты:
- При цене в один цент было больше всего публикаций.
- При цене в два цента было больше всего прибыли.
- Нет смысла ставить цену больше, чем два цента.
- Пользователи, у которых цена публикации составляла два цента, в два раза чаще пополняли свой баланс. Скорее всего, им понравился сервис, и они решили пополнить счет еще раз.
Итак, больше всего прибыли принесла цена в два цента за публикацию, поэтому я решил установить именно ее. Не думаю, что она всегда останется такой. Возможно, в будущем пользователи будут готовы платить больше, но это я узнаю после еще одного теста.
После того, как я выбрал цену, я решил увеличивать количество платных функций.
Дополнительные платные функции
Помимо увеличения количества рубрик и поддерживаемых соцсетей, я понял, что могу сделать еще кое-что. Несколько клиентов попросили меня добавить функцию обработки изображений, которые они прикрепляли к публикации. Например — скругленные углы, эффекты и возможность накладывать вотермарки. Я понял, что есть отличная возможность для увеличения суммы покупки.
Я добавил простой интерфейс, который позволил пользователям редактировать изображения. У каждого эффекта была собственная стоимость, которая добавлялась к итоговой стоимости публикации. Вот как это выглядело.
Я знаю, что это довольно варварский и глупый способ брать деньги с пользователей, но слушайте — все мы когда-то были молодыми и неопытными. Алгоритм, который отвечал за обработку изображений, был довольно простым. Это была функция с большим количеством аргументов и интенсивным использованием Imagemagick внутри.
Я добавил несколько дополнительных колонок в таблицу статистики, где учитывалось, какие эффекты применяют пользователи и как часто они это делают. Вскоре платные функции стали довольно популярными.
Также я добавил другие функции, вроде пауз, загрузки произвольных публикаций и поддержки нескольких аккаунтов. Но это скучно, поэтому предлагаю взглянуть на то, что я сделал с трафиком.
Масштабирование трафика
У меня был очень ограниченный бюджет — что-то в районе $500, поэтому покупать трафик напрямую я не мог. Однако я заметил, что благодаря ключевым словам на главной странице сервиса, которые были связаны с моей нишей, но не указывали на нее прямо, произошло увеличение трафика из поисковых систем.
После быстрого анализа количества переходов по этим ключевым словам я решил потратить весь бюджет на две вещи: написать статьи, содержащие популярные поисковые запросы и купить платные публикации у нишевых блогеров в моей отрасли.
Я составил список самых популярных пользовательских запросов и нанял копирайтера, чтобы он написал соответствующие статьи. Например «как сделать группу во "ВКонтакте"» или «как сделать меню в группе во "ВКонтакте"» и так далее.
После того, как статьи были опубликованы на сайте Postio в разделе «Помощь», я договорился с самыми популярными блогерами в моей сфере о скидке, и они сделали несколько публикаций о Postio. В результате моих стараний трафик вырос.
Кстати, большая часть трафика пришла благодаря статье о том, как сделать меню для группы во «ВКонтакте». И это натолкнуло меня на мысль о том, что неплохо бы сделать еще один сервис. Но это уже другая история.
Также я внедрил партнерскую программу. Все просто: пользователи получали уникальную ссылку для привлечения других пользователей и получали 10% от их трат. Ничего сложного, но общее количество пользователей сервиса выросло на 15%. Кроме того, благодаря обратным ссылкам, которые пользователи публиковали на разных сайтах и форумах, позиции Postio в поисковой выдаче стали только лучше. За 14 месяцев сервис вышел на месячную отметку прибыли в $3700 ($7000 до падения рубля). И курсовая разница стала единственной крупной неудачей.
Создание прибыльной SaaS-платформы никогда не было простой задачей, и я не могу рассказать о ее мельчайших аспектах в одной маленькой статье. Но разработать такой сервис может каждый программист.
Не нужен партнер, инвестор или гениальная идея. Нужно просто начать делать хоть что-то, и вы неизбежно наткнетесь на проблему, которую нужно решить. Ничто не совершенно, и это хорошая новость.
Это типа сервис который собирает баяны по соцсети и позволяет постить эти баяны в свою группу? И если в сервисе зарегистрировано уже чуть больше чем дохера юзеров то количество баянов только растет?
Комментарий недоступен
Да и да. Но сбор баянов происходит не по соцсети, а по всему интернету, включая зарубежный.
Интересная статья. Тем не менее, бесит, когда оборот и прибыль путают как один термин
У него нет офиса, нет секретарши и бухгалтера, машины в лизинг и прочего
Весь его оборот (за исключением копеечныэ затрат на сервера) - прибыль
" решил сделать небольшой инструмент, который помог бы мне собирать публикации конкурентов и регулярно публиковать их в моей группе."
Кому - воровство, а кому- история успеха...
Действительно. Но на всякий случай, проверьте в какой стране вы живете и какой контент доминирует в ваших социальных сетях.
И на всякий случай, все же прочитайте статью, чтобы понять какие меры были предприняты.
Отличная история — реальный для большинства стартапов масштаб денег и простые, но рабочие решения. Успехов вам!
Спасибо!
Комментарий удален модератором
Комментарий удален модератором
Я не понимаю. Прежде чем получить 0,0010$, нужно иметь форму собственности, расчетный счёт, регистрацию в налоговой, код вида деятельности. Иначе это незаконное предпринимательство.
Я всегда был плохим парнем.
Вконтакте всегда был хорошим источником контента и денег. На заре сателлитов и sape. Мне под заказ за 20$ написали парсер постов из групп (затем был парсер фоток и комментариев к ним и т.п.). Затем этот контент заливали в cms псевдоблога, которая публиковала N постов в день. Всё это счастье отлично индексировалось Яндексом (т.к. vk был закрыт от индексации) и легко продавались ссылки и т.п.
Окупилось это в *** раз.
Было множество подобных ниш. Соцсеть убивает их одна за одной.
SMMplanner ван лав
В сошиэйт вроде бы весь тот же функционал вообще бесплатный, как дополнение к сервису с рекламой. Не благодарите
А зачем вы отображаете визуально пароль при регистрации? Чтоб его видели все кто рядом со мной сидит? =))))))))
Скажите, а вы много видели интересных людей, которые вводят хоть что-то, пока сзади кто-то стоит? :)
Скрытие пароля - это ненужная практика, в большинстве случаев.
Протестировал. Не хватает выбора публикаций не по темам, а по хэштегам или по слову в теле поста. Или на крайняк выбора источников вручную.
Поясню. У меня городская группа и не одна из предложенных мне тем не подходит. Поиск постов происходит по определенному сценарию: 1) Или из постоянных источников (сайт администрации, УВД, электронных СМИ); 2) Или из сетей по запросу "название_города", хэтегу, если в инстаграме - по геометкам.
Это 70 процентов контента. Остальные 30% - свой уникальный.
Так вот если бы эти 70 процентов можно было бы постить через ваш сервис, я бы с радостью. Но, увы.
Спасибо, вы правы, это было бы удобно. Сложность в том, что весь контент Постио - премодерированный. Это позволяет избежать неподходящих постов. То, что вы описываете можно реализовать отдельным инструментом в сервисе, впрочем.
По статье не совсем понял пару технических деталей:
1) Как вы определяете, что контент качественный? Считаете кол-во лайков? Или просто по умолчанию весь контент в определенных сообществах и из определенных источников считается качественным?
2) Как происходит определение тематики контента? Также по сообществу/источнику?
3) Есть какое-то разделение контента для клиентов? Грубо говоря, если у вас на определенную тематику подписаны 10 человек, то все они будут получать один и тот же поток постов?
1. Отношение лайков к репостам, но по большей части, это просто опытный глаз модераторов контента.
2. Тоже, что и первое - ручной труд. Каждый пост проверяется вручную.
3. Алгоритм старается распределять клиентов по базе. Но если клиентов много, да - будут получать одинаковый контент.
Просто лучшая статья на vc в этом году! Спасибо )
Спасибо :)
Вдохновляющая история!
Хрен с этими баянами, видно что в статье упор на опыт создания платформы. Интересно же как люди делают
Комментарий удален модератором
Это другой сервис.
Тоже фичу бы надо: я регулярно пощу инфу о недвижимостив группы ВК, но мне нужны не только определенные сайты откуда контент брать, но и "минус-сайты" : конкуренты, пресс-релизы ассоциаций (не популярны), статьи с негативом о компании (а они бывают), а также автопланировщик хэштегов.
Этого не хватает, или я просто не увидел...
Этого действительно нет, и, наверное, это стоит реализовывать в рамках отдельного сервиса, поскольку Вконтакте очень подозрительно относится к граберам и кросспостерам.
Отличная статья, но мне непонятно пару нюансов.
1.Мне в группу поступают статьи, но они получаются не уникальными, не влияет ли это на выдачу и ранжирование ВК.
2. Если ко мне в группу поступают люди, которым нравится (или подходит) не уникальный контент, получается, что их заинтересованность и вовлеченность не очень велика и уменьшается шанс того, что они перейдут по ссылке на мой сайт и тем более купят товар.
1. Об этом знает только Вк, но скорее всего нет - соцсети проще ориентироваться на число лайков и другие сигнали от пользьзователей, чем проверять каждый пост на плагиат. А вот поисковые системы скорее всего проверяют.
2. Понятие уникальности/не уникальности людей не интересует. Их волнует интересность. Если конкретный пост им интересен, они вернутся еще раз. Насчет связи между интересностью постов и переходом на сайт тоже не уверен.
Автор молодец, уверен у 95% здесь зп не более 40т.р а то и меньше.
Кстати, на удивление, я встречаю очень мало негативных отзывов, даже зарубежом. Есть, конечно, какой-то малый процент моралистов в сверкающих доспехах и на белом диване, но по большому счету все всё понимают.
Спасибо за полезный опыт, был бы рад если вы ответите на пару вопросов: какими минимальными техническими знаниями нужно обладать что бы создать подобный Сервис?(технологии:php,js,jq?)
Возможно посетуете полезные источники по обучению?
Знать PHP или любой другой бекэндовый язык.
Знать Javascript и иметь небольшое понимание как работать с API платежных систем.
Плюс, конечно, иметь идею.
После этого можно в бой с гуглом наперевес - все остальное придет органически.
Книги можно подставить под ножку стола, например :)
В cronjob у вас ошибка в отправке в FB. Копипаста - зло.
Точно. Ну для иллюстрации сойдет.
Нормальный был сервис, пользовался, но контента мало было
Я, конечно, не кодер, но по-моему в "макете функции" ошибка в случае с фейсбуком (тоже ->vk();)
case 'vk':
$result = $this->Pub->vk();
case 'fb':
$result = $this->Pub->vk();
Все верно, спасибо. Но сейчас уже не поправишь, к сожалению.
https://buffer.com
Но ведь большинство таких постов (мне кажется абсолютно все) будут нарушать авторские права, разве нет ? Посты собираются с разных источников, и где-то есть правообладатель.
Это сложный вопрос и на него нет конкретного ответа. Формально - да, у каждой единицы контента есть автор. Но не всегда его удается установить, и не всегда контент подается под запрещающей лицензией.
Возможно, поэтому мой пост и спровоцировал небольшие дебаты на Hacker News.
Саму группу не украдете?))
Ноуп :)
Комментарий удален модератором
Интересный материал, спасибо.
А можно в итоге посмотреть на примеры групп или постов-то? А то так много разговоров о качественном вручную отобранном контенте, что хочется примеров такового. Спасибо.
Вот из последних групп https://vk.com/deliciousrecipesoflife
Вопрос к эксперту: как раскручивать потом эти группы? :) Какие методы из не очень дорогих можете посоветовать?
Я всегда был сторонником простого правила - хороший контент + закупка трафика. Если вы понимаете свою аудиторию и умеете работать с закупками, то этого хватит.
Есть еще ряд серо-черных методов, но тут не подскажу, интереса к ним никогда не было.
Интересно было бы узнать больше конкретики: откуда вы получаете контент и каким образом? Каким образом отбираете релевантный контент, если он попадает к вам не их соц.сетей?
Контент попадает к нам из двух главных источников:
1. Соцсети. В этом случае мы стараемся использовать не Вконтакте, поскольку большинство наших клиентов как раз подключают группы в Вк
2. Сторонние веб-сайты. Чаще всего договариваемся с владельцем в обмен на вотермарк его лого, стоящего на изображениях
3. Пишем сами. Некоторые тематики просто не представлены нигде, а ниша, тем не менее есть.
Как часто рекомендуете настраивать отсылку постов? В какое время дня это лучше делать?
Сильно зависит от тематики и о того, кто ваша аудитория. Нужно рассматривать каждый кейс отдельно.
Кстати, я не понимаю, почему на такие вопросы в этой ветке, нет 100500 ответов от представителей SMM агентств. Упускают возможность блеснуть знаниями и получить клиентов.
а про e-commerce и про ваше(насколько я знаю) ios приложение расскажете?
Да, на Медиуме точно появится как-нибудь.
За такие инструменты сообщества банят навсегда.
Нет. Постио систематически проходит проверки Вконтакте.
Лучше наркотики детям продавать, чем плодить тысячи мусорных групп. СММщики убили соцсети. Я им за это не благодарен.
Человечество в целом убивает планету, не парьтесь.
Спасибо за статью!
Не совсем обладаю нужными знаниями и опытом, подскажите новичку- если я хочу собирать посты вконтакте (исключительно текст) для публикации в своём приложении, будет ли это считаться мошенничеством?
Мошенничеством это точно не будет считаться - вы никого не обманываете, ведь. Но в зависимости от того, что вы будете дальше делать с собранным текстом, вы можете нарушить авторские права.
Alex, вопрос, тематику выбрать мне нужно более конкретнее, чем просто строительство и ремонт. Например, сантехника. Как быть?
По узким тематикам, все очень индивидуально - если она достаточно интересна широкому кругу клиентов, то реализовывается. Если нет, то тут поможет только индивидуальный админ.