Как разработчик я люблю тратить время на пет-проекты и что-то программировать, но не люблю тратить время на маркетинг и хоть как-то их продвигать. Знакомо?

Сегодня я хочу рассказать, как в 2019 году я придумал и внедрил механику тестов в Instagram, делал легкий маркетинг и проверил нужно ли это рынку.

Меня зовут Павел Поляков, сейчас я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в ???????? Германии. Эта и другие истории из моего опыта привели меня к созданию Telegram-канала Хороший разработчик знает, где я рассказываю обо всем, что обычно знает хороший разработчик. Сейчас давайте узнаем, что произошло в 2019.

Как все началось

В 2015 году я переехал из Украины в Германию, в Гамбург. Основным языком в компании, где я работал, был английский. Необходимости учить немецкий не было. Но какое-то желание учить язык присутствовало, ведь вокруг столько всего немецкого.

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

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

Задавался вопрос и с помощью стикера “Опрос” предлагалось два варианта ответов. Пользователи отвечали и потом, в одной из следующих историй автор объяснял, какой ответ правильный.

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

Все это было не очень удобно, но других вариантов не было. Именно это подтолкнуло меня к идее нового пет-проекта. Я подумал — а что если совместить встроенный браузер и интерактивные механики? Пусть пользователи тянут снизу-вверх, учат немецкий на специальном мини-сайте, а потом закрывают браузер и возвращаются в Instagram.

Выбор домена

Что мотивирует разработчиков придумывать пет-проекты? Покупка доменного имени. Первым делом надо придумать красивое доменное имя и купить его, а потом уже начинать пет-проект. А может и не начинать, такое тоже часто бывает.

Доменное имя, которое я придумал, дало мне хороший буст мотивации. Я назвал проект qqq.cards. q — потому что question, ведь пользователя будут о чем-то спрашивать. qqq — потому что это красиво. А .cards — потому что сервис будет отображать мини-карточки, которые будут показываться во встроенном браузере в Instagram.

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

Проверка

Сейчас каждый пользователь Instagram может размещать в сторис ссылки. А тогда, в 2019, это могли делать только бизнес аккаунты, у которых было больше 10.000 подписчиков. У меня такого аккаунта не было. Но я хотел проверить — что можно делать в таком встроенном браузере?

Первым делом я пошел на какой-то сомнительный сайт и купил готовый аккаунт, накачанный ботами. Я авторизовался под этим аккаунтом, начал добавлять сторис и...не увидел ничего, про размещение ссылки ????‍♂.

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

Теперь нужно проверить, можно ли таким образом размещать тесты. Я создал простое приложение, с помощью create-react-app, набросал простой тест из двух шагов, разместил его онлайн и проверил. Все работало! Пользователь мог открыть ссылку (свайп вверх), пройти тест, увидеть результат и вернуться в Instagram.

Кажется, все уже доказано и можно погружаться в разработку? Нет, не совсем. Я вознаградил себя за старания покупкой домена, но решил сделать еще одну проверку — на настоящих пользователях.

Подтверждение гипотезы

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

Она создала контент, я сделал более полноценное React приложение и разместил его онлайн, уже на домене qqq.cards. Вот тот самый тест, можете проверить уровень своего немецкого.

Светлана опубликовала его и попросила подписчиков дать фидбэк. Он был полностью положительный.

Я, в свою очередь, собрал аналитику с помощью Google Analytics. Вот так выглядела воронка прохождения теста.

241 пользователь начал тест, 150 из них завершили.

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

Разработка

Все, теперь точно разработка. Мы ведь доказали, что наш сервис будет пользоваться спросом. Если техническая часть вам не интересна, то смело пропускайте этот раздел.

Я совершил стандартную ошибку разработчика и решил делать все “правильно” и на века. Хотя нужно было сделать все — как умею и быстро.

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

У меня был gateway на fastify и fastify-http-proxy, который обрабатывал весь трафик и распределял его дальше:

{
  "proxies": [
    {
      "upstream": "https://auth-api.qqq.cards",
      "prefix": "/auth/api",
      "rewritePrefix": "/api",
      "http2": false
    },
    {
      "upstream": "https://decks-api.qqq.cards",
      "prefix": "/manager/api/decks",
      "rewritePrefix": "/api/decks",
      "http2": false
    },
    {
      "upstream": "https://decks-api.qqq.cards",
      "prefix": "/q/api/q/decks",
      "rewritePrefix": "/api/q/decks",
      "http2": false
    }
  ]
}

Деплоилось все на Vercel, который в то время был еще zeit.co . А данные хранились в PostgreSQL, которая хостилась на моем сервере в DigitalOcean.

Судя по истории в github, на разработку ушло два месяца — с ноября 2018 по январь 2019.

В результате я зарелизил такой функционал:

  • можно было логиниться (но не регистрироваться)

  • создавать тесты с помощью yaml разметки, работал предпросмотр тестов

  • можно было опубликовать тест и он становился публичным, доступным по уникальному ключу

Это и был мой MVP, пришло время познакомить мир с этим великолепным и нужным всем сервисом.

Как все выглядело

Для главной страницы своего сервиса я смонтировал два видео. Вы можете посмотреть как это выглядело со стороны создателя тестов и со стороны пользователя.

Маркетинг

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

Я это знал и хотел тратить время на маркетинг. Не тот, где я трачу деньги, а тот, где я трачу свое время, это ведь пет-проект.

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

Текст сообщения

Добрый день редактор deutschonline,

Меня зовут Павел, я разработчик из Гамбурга. Являюсь подписчиком вашего аккаунта, спасибо, что помогаете учить немецкий :)

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

Здесь подробнее https://qqq.cards .

Я создал аккаунт для вас:
deutschonline@qqq.cards
qL6dbNcE4asb+Kp

Залогиниться можно здесь: https://qqq.cards/auth

Демо аккаунт где можно пройти тест (в истории и шапке профиля): https://instagram.com/men.s_classic.7/

Попробуйте и задавайте любые вопросы. Более того - я готов активно улучшать текущий функционал в зависимости от ваших пожеланий. Давайте сделаем обучение в Instagram еще более интересным. Буду рад ответить на любые ваши вопросы.

Хорошего дня!

Двадцать холодных сообщений конвертировались в один продуктивный диалог с Соней, автором deutsch.mit. Соня согласилась попробовать сервис со своей аудиторией.

Эксперимент

Я немного переживал, что не техническим людям будет сложно разобраться с yaml форматом и самостоятельно создать тест. Но Соня справилась самостоятельно, без очевидных проблем, это меня обрадовало.

Соня разместила тест и результаты были следующими:

С 4000 просмотров 10% пользователей пошли проходить тест. Охваты следующей истории упали на 600 просмотров, 300 пользователей отметили, что им понравился такой формат.

Потом Соня провела другой эксперимент — конверсия при тестах без покидания Instagram.

Фактически, конверсия между историями оказалась одинаковой — ~87%.

Но были и другие факторы:

В результате один продуктивный диалог из 20 холодных контактов конвертировался в 0 пользователей. Света, из первого эксперимента, тоже не стала использовать сервис самостоятельно.

Закат

Мой пет-проджект энтузиазм упал. Я увидел, что внедрение продукта будет требовать больших усилий. Текущей функциональности было недостаточно, чтобы мотивировать преподавателей использовать его. Другими словами их наилучшая альтернатива (неудобные тесты в Instagram) достаточно закрывала их потребности.

Я перестал активно заниматься этим проектом, а в апреле 2019 Instagram нанес ответный удар и сам сделал доступным похожий функционал.

Пет-проект qqq.cards был отправлен на кладбище пет-проектов, а я занялся чем-то другим.

Выводы

Какие выводы можно сделать? Я делаю следующие:

  • Недостаточно сделать что-то хорошее. Это хорошее должно еще и оказаться действительно кому-то нужно.

  • Для хорошего стартапа нужны Hipster, Hacker и Hustler. Очень здорово, что в этом проекте я занимался не только разработкой, но и маркетингом.

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

  • Тащить проекты одному тяжело. Эту ошибку я продолжаю делать и сейчас. Но давайте ее зафиксируем письменно. Лучше работать в команде.

А еще...

В конце еще раз приглашу вас в свой Telegram-канал. На канале Хороший разработчик знает я минимум три раза в неделю простым языком рассказываю про свой опыт, хард скиллы и софт скиллы. Я 15+ лет в IT, мне есть чем поделиться. Все это нужно разработчику, чтобы делать свою работу хорошо, быть востребованным на рынке и получать высокую компенсацию.

А для любителей картинок и историй есть ???? Instagram.

Спасибо ????

Комментарии (2)


  1. jMas
    22.02.2022 23:13

    неудобные тесты в Instagram

    Это субъективно? Или как то тестировалось. Выглядит как недоказанная гипотеза.


    1. PavloPoliakov Автор
      23.02.2022 01:05

      Субъективно. Я имел в виду, что в текущем Instagram формат простой - 1 тест и сразу результат. А в моем варианте, например, можно было пройти 10 вопросов и получить какой-то итоговый результат.