Как мы за 5 месяцев сделали сервис комментариев и что из этого получилось

Как мы за 5 месяцев сделали сервис комментариев и что из этого получилось

Привет, меня зовут Александр, я один из основателей сервиса комментариев AnyComment. Я хочу поделиться своей историей о том, как разработка плагина комментариев для WordPress трансформировалась в SaaS продукт. С какими проблемами мы столкнулись, какие были решения и что в итоге из этого вышло.

WordPress плагин

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

Через неделю уже был разработан сырой вариант, и я начал тестировать. Тесты прошли успешно, и я был готов начать им пользоваться. И однажды меня осенило: а почему бы не сделать его доступным для всех? Посидев еще недельку, я доработал настройки, сделал дизайн виджета более универсальным, придумал название — «AnyComment», попросил знакомого дизайнера нарисовать логотип, обложку и выложил плагин в репозиторий.

Как мы за 5 месяцев сделали сервис комментариев и что из этого получилось

В течение года в свободное от основной работы время я постоянно занимался доработкой функционала плагина. За этот период достаточно сильно расширились его возможности, а также выросло количество установок (5 тыс. на момент написания этого текста). Теперь это уже был плагин не просто с базовыми настройками, а с возможностью кастомизации дизайна, системой оценок, загрузки файлов, подписки на комментарии и авторизации через социальные сети.

А затем мне пришла в голову идея сделать сервис комментариев без ограничений в окружении WordPress. Сделать что-то универсальное для всех платформ. Это стало началом разработки сервиса.

Сервис комментариев

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

Абсолютно случайным образом мне удалось найти инвестора для проекта. Им стал один из пользователей плагина, у которого был достаточно большой портфель сайтов. Я составил бизнес-план, мы его обсудили, договорились о долях, зонах ответственности, и я приступил к реализации.

Выбор технологий

Прежде чем начинать, нужно было выбрать стек технологий. Какую выбрать базу данных? Язык? Фреймворк? Где будем хоститься? Проанализировав разные варианты, решили использовать PostgreSQL, PHP на серверной стороне и React для виджета. Расположиться решили в OVH, выбрали Францию как основную локацию.

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

Плюсом в том плане, что какие-то части функционала получилось реализовать более грамотно. Минус в том, что пришлось писать одно и тоже. Это долгий и достаточно нудный процесс, если его делаешь второй раз.

Тем не менее, через 3 месяца у нас был первый MVP, и мы были готовы стартовать. Но…

Онлайн-касса

Куда же без онлайн-кассы? Еще на этапе бизнес-плана, мы предусмотрели три тарифа: «Бесплатный», «Базовый» и «Про». Последние два были, конечно же, платными, и нам нужно было как-то принимать платежи. И тут я «нырнул» в мир онлайн-касс.

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

Вроде бы как все готово к запуску. Стартуем? Не совсем, сначала нужно сделать так, чтобы плагин мог работать с сервисом.

А как же плагин?

Так как у нас уже был плагин, мы решили сделать процесс подключения сервиса максимально простым и удобным — чтобы можно было «одним кликом» менять форму от плагина на сервис.

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

Мы сделали еще кое-что интересное. Большинство сервисов комментариев работают по следующей схеме:

  • вы добавляете сайт на сервисе
  • выдается API ключ
  • вы копируете его, устанавливается плагин вашем сайте, вставляете туда ключ
  • плагин начинает делать свою магию (синхронизация комментариев и прочее)

Сложно, не правда ли?

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

Синхронизация API ключей с сайтом
Синхронизация API ключей с сайтом

Сразу после успешной синхронизации API ключей WordPress плагин начинает синхронизировать комментарии с сервисом. Выглядит это следующим образом:

Синхронизация комментариев с сайта на сервис
Синхронизация комментариев с сайта на сервис

Момент запуска

Как мы за 5 месяцев сделали сервис комментариев и что из этого получилось

В августе 2019 мы запустились! На разработку ушло около четырех месяцев.

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

После часика-двух копаний, мне удалось разобраться, что комментарии циклично синхронизировались с сайта на сервис, а также в обратном порядке. Это происходило в течение 2 дней. Весь этот процесс нужно умножить на количество сайтов.

До ошибки у нас было 300 тыс. комментариев, и за 2 дня накопилось 700+ тыс. — более 400 тыс. дублей.

Как мы за 5 месяцев сделали сервис комментариев и что из этого получилось

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

Первые клиенты, маркетинг

Маркетинга почти не было.

Единственное, что мы сделали — это отправили анонс всем пользователям плагина о запуске сервиса. Отдача была скудная, так как сервис сильно отставал по функционалу от плагина и некоторых аналогов.

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

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

Что из этого получилось?

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

А что по клиентам? На текущий момент, AnyComment установлен у таких проектов как Яндекс Практикум, UniSender, PROFI.RU и другие. Мы гордимся тем, что нам доверяют как крупные ресурсы, так и небольшие сайты.

С момента старта проекта мы реализовали много интересных возможностей, вот некоторые из них:

  • Визуальный редактор дизайна — гибкий Drag&drop редактор дизайна комментариев, возможность менять цветовую гамму, полностью кастомизировать виджет под сайт.
  • Умные действия — очень похожи на фильтры, которые можно поставить в Gmail или на правила в настройках других почтовых клиентах. Например, можно настроить правило на отправку уведомлений в Телеграм/почту или автоматическую модерацию комментария при совпадении установленного правила.
  • Возможность отвечать на комментарий прямо из почты — если вам пришло уведомление на почту, можно ответить на это письмо и наша система создаст комментарий-ответ от вашего лица.

Из других возможностей вы найдете: аналитику, SSO (Single Sing-On), смайлики, загрузка изображений, рейтинг (лайки/дизлайки), живые события, система жалоб, панель модерации прямо внутри комментариев или на сервисе, и конечно же, автоматический инструмент по переезду с аналогов.

Мысли вслух

Я бы хотел рассказать о некоторых важных уроках, полученных мною во время реализации проекта.

Слушайте своих клиентов

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

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

База знаний

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

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

Мы до сих пор активно занимаемся составлением базы знаний. Каждый раз находим что-то новое для объяснения или улучшения старого.

Не ждите, когда все будет готово

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

Что было дальше?

На этой статье история не останавливается, я бы хотел написать серию статей о том:

  • роудмап проекта на ближайшее будущее
  • как именно мы подошли к монетизации проекта, выбору ценовой политики, какие идеи провалились и почему
  • почему выбрали именно такой технологический стек, какие были трудности во время реализации

Если вы хотите, чтобы я раскрыл какие-то другие детали — пишите в комментариях уточняющие вопросы, и я их также раскрою в следующей публикации.

И, конечно же, если у вас есть пожелания или замечания — пишите комментарии, я постараюсь ответить всем.

3838
26 комментариев

Хороший плаг. Использую его в том числе из соображениц патриотизма. Как и Яндекс

4
Ответить

Искал аналоги VK виджета который глючит на маках и мобилах в 2021 году и уже успел пожалеть, что нашел вас. Сначало обрадовался, что сервис визуально милый, есть куча авторизаций через российкие соцсети и месенджеры. Сразу заплатил тыщю за PRO на месяц. Встал на сайт битрикса виджет без проблем.

Сайт для которого важным условиям был именно чат, комментарии зрителей которые смотрели онлайн стендап конкурс котоырй устроил крупный лондонский бренд отвечали на задания ведущег ои так далее. В прошлом году за эфир было 3500 комменатриев в VK виджете, а в этом на странице с виджетом anycomment гордо красавалось 25 комментариев. Кнопки "Роказать еще комментарии" небыло... а из 25 коменетов 20 были повторениями, так как комменты зависали и не отправлялись сразу и люди жали оптравить коммент по 5 раз и они тупо доублировали своими комменатрии которые приходили через 1, 5 и 10 минут и из за этого было кучу дублей и коментарии были непопорядку не по времени оптравления и рядом мог стоять коммент оптравленый 10 минут назад и 10 секнуд назад, а потом дубль отправленый 20 минут назад.
Ровно сутки мне никто из поддержки неотвечал, ни на письма ни в чат хотя усердно делали вид что они онлайн.

В общем это был жесткий позор, часть механики конкурса опирающейся на комментариях облажалась, мы понесли материальыне и репутационыне потери перед брендом Беллс.

Сегодня прийдется перейти на "cackle" каким бы не позозрительным было название, главное что они какле, а не г***о как ваш сервис. =)) 
Спасибо за внимание.

2
Ответить

Интересно, как раз подыскивал модуль комментариев для сайта, надо и ваш попробовать. И что радует так это то что ценник поставили не конский. Вообще оч нравится "толстой коментс", но слишком дорого.

1
Ответить

Тоже присматривался к толстому, но из-за цены выбрал AnyComment.

1
Ответить

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

Ответить

Ссылка в конце статьи где?
Из Яндекс.Организаций отзывы берёт?

1
Ответить

О какой ссылке идет речь?

1
Ответить