Стартап в соло. Часть 1: текущие показатели

Стартап в соло. Часть 1: текущие показатели

Содержание всех статей

Содержание

О чем пойдет речь?

Примерно 11 месяцев назад я начал разрабатывать пет-проект — Telegram чат для сайта. С тех пор и до сегодняшнего дня занимаюсь его разработкой и продвижением самостоятельно. Правда занимаюсь им в свободное от основной работы время, которого мало.

Недавно проект перешагнул за 100 платящих пользователей в месяц и 100 000 рублей суммарной выручки (именно выручки, всё возвращается в проект, в карман ничего пока не положил) . Вложения пока не отбились, но плавно к этому иду.

Хочу рассказать тем, кто тоже работает над своими проектами, как за год я пришел к текущим показателям (что было нелегко) . Попробовал структурировать свои мысли, вышло довольного много текста. Текст разбил на статьи, содержание будет в каждой статье.

Кто я?

Senior Full-Stack разработчик (NodeJS + React) .

5+ лет коммерческого опыта (работал над приложениями для автоматизации бизнес-процессов, над CRM системами и над e-сommerce решениями) .

8+ лет в разработке (начинал с Java, пробовал Android, потом ушел в веб; сейчас стек NodeJS, React и много других популярных названий) .

Свободное на проект время: ~10-15 часов в неделю, часто меньше.

Про 8 лет в разработке и 4PDA

Оказалось, что первый мой “опубликованный” проект как раз был выложен 8 лет назад на сайте 4PDA. Это было консольное Android приложение, написанное на Pascal (причем написанное на телефоне в мобильной IDE(!)) .

Занималось приложение настройкой эмулятора Windows, чтобы запускать разные древние системы по типу Windows 95 на телефоне. Вот ссылка — https://4pda. to/forum/index. php? showtopic=666450

Почти ностальгическую слезу пустил.

Уточнение. Я сторонник мнения, что Full-Stack разработчик не особо может считаться Senior’ом из-за слишком большого количества технологий.

В моем понимании, Senior Full-Stack — это Middle во всём и сразу (от БД с Docker’ом до оптимизации сайта под Google Page Speed и настройки CSS'a). С серьезным опытом, знанием своих технологий и, в случае недостатка знаний, пониманием, где искать решение дальше для качественного выполнения задачи.

Что за проект?

Telegram Feedback — это чат для сайта. Посетитель пишет в чат на сайте, его сообщения приходят в бот, группу или Telegram канал (смотря куда удобнее). Владелец сайта отвечает в самом Telegram, ответ возвращается пользователю в чат на сайте.

Картинка с сайта
Картинка с сайта

Собственно, чат похож на Jivo-чат (тот чат, который всё время выпрыгивает справа внизу экрана, вы его точно видели, хе-хе) . Но немного иначе. Jivo умеет группировать сообщения и с сайта, и из WhatsApp, и из Telegram, и из других каналов связи. У меня же просто чат. Специально не усложняю, а решаю только одну задачу для пользователя.

P. S. Я стараюсь яростно агитировать пользователей не включать “выпрыгивание чата”. Всегда раздражало, поэтому по умолчанию у моего чата это выключено.

Текущие финансовые показатели

На момент написания статьи у меня 105 платящих пользователей (81 ежемесячная подписка, остальные оплачивают помесячно вручную) . Количество пользователей с тестовым периодом составляет ~20% относительно платящих пользователей.

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

Стартап в соло. Часть 1: текущие показатели

Итого, выручка:

(290 рублей — 5% (комиссия платежной системы) — 6% (налог ИП)) * 105 (клиентов) = 258 * 105 = 27 090 будет в следующем месяце.

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

…хотя платежи добавил, а зарабатывать не начал…

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

Вот показатели платежей через CloudPayments с сентября:

Стартап в соло. Часть 1: текущие показатели

Занимательный факт № 1: на момент подключения оплаты в сентябре у меня было ~100 активных пользователей. После появления оплаты осталось 30 пользователей.

Вывод №1: активные пользователи и активные платящие пользователи — это две разные группы пользователей с разными конверсиями (что логично).

Занимательный факт №2: пока что вся выручка уходит обратно в проект на покупку рекламы и на развитие SEO. Ни копейки в карман я не положил, а наоборот, на каждую копейку выручки я докладывал не одну из своего кармана в течение года.

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

Системы платежей и чеки

Тут всё просто.

Для приема платежей из РФ использую Cloud Payments (API) .

Для приема международных использую Enot Pay (API) .

Для отправки чеков (кто не знает, их по закону обязательно отправлять для каждого платежа) использую Cloud Kassir (от Cloud Payments, API) .

Откуда приходят пользователи?

Для этого у меня есть наглядная картинка:

Диаграмма пользователей по источникам привлечения
Диаграмма пользователей по источникам привлечения

В следующих статьях дам пояснение, как собирается эта статистика.

Архитектура и стек технологий

Чат для сайта, по факту, система из нескольких компонентов, которая включает:

  • Сайт и личный кабинет пользователя (с требованием к хорошему SEO)

    Технологии: TypeScript, NextJS (серверный рендеринг) , React, кластерный режим для NextJS, Bootstrap 4
  • Виджет для сайта (js скрипт, который устанавливают на сайты пользователей)

    Технологии: TypeScript, PreactJS (весит ~3Kb, обычный React слишком жирный для виджета) , SocketIO

  • Админка с аналитикой и менеджментом пользователей (исторически сложилось, что это отдельный фронт)

    Технологии: TypeScript, React, Bootstrap 4

  • Серверная часть с API и сокетами

    Технологии: TypeScript, NodeJS + NestJS, SocketIO, PM2 (менеджмент процессов), Jest (unit тесты) + Supertest (E2E тесты)

  • База данных

    PostgreSQL 14

  • Брокер сообщений и key-value хранилище:

    Redis

  • Прокси-сервер (чтобы собрать все компоненты системы выше в единое целое)

    Nginx (классика)
  • Контейнеры

    Docker + Docker Compose

Дополнительно:

  • Сервер

    От FirstVDS (не реклама). Мощные и дешевые сервера.

    Ubuntu 20.04 + XFCE (совсем неудобно делать запросы через консоль без UI, с PgAdmin удобнее, поэтому поставил графическую оболочку спустя полгода развития проекта).

    В лимит вертикального масштабирования по производительности я упрусь нескоро. Скорее всего, ресурс памяти под БД исчерпается быстрее, чем пропускная способность канала или производительность сервера (лимит для текущего VDS — Xeon Gold 5115 x 128 CPU и RAM DDR4 512 Гб).

    Для момента, когда я все-таки упрусь в лимит и будет нужно горизонтально масштабироваться, посматриваю на сервера (или даже выделенные места) от Selectel. Давно хотел у них что-нибудь запустить, но всё ничего не подворачивалось.
  • DDOS-защита

    DDOS-Guard.

    Недорого, удобно. В дополнение к глобальной защите, есть “локальная” защита на уровне Nginx и на уровне API. Срабатывает чуть быстрее в некритичных случаях.

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

  • Каптча

    Яндекс Каптча. Под мои задачи сейчас бесплатно, потом станет недорого.

  • Резервные копии

    Делаются несколько раз в день стандартными средствами от FirstVDS + pg_dump + zip.

    Я провожу проверку восстановления проекта из резервной копии минимум раз в месяц. В случае какой-либо критичной проблемы проект пропадёт минимум на час, максимум на день (в случае, если нужно устранять уязвимость).

Администраторы делятся на две категории: те, кто еще не делает бекапы и те, кто уже делает.

© Народная мудрость

Любой сервер падает. Главное поднять его, пока никто не заметил.

(с) Народная мудрость

Причем тут БДСМ студия?

Еще один занимательный факт.Когда я запустил первую версию виджета и дал рекламу через Яндекс.Директ, первым пользователем была БДСМ студия в Иркутске 🙂. Ради интереса нашел их сайт в базе — до сих пор пользуются. Вначале даже попросили сделать открытие виджета по JavaScript событию.

Топ-3 странных сайта составлю в следующей статье. Интересные были, БДСМ студия не самое нестандартное. Я давно отключил уведомления для каждого подключенного сайта, так что рейтинг будет только за первые несколько месяцев работы виджета.

Предыдущий опыт

До Telegram Feedback у меня были попытки запускать свои пет-IT проекты с намеком на платящих пользователей. Правда, проект безуспешные и я давно их закрыл.

Woodle Auto — CRM система и система онлайн записи для автосервисов. Разрабатывал года полтора (долго, так как времени свободного за рамками основной работы было не так много).Вложил довольно много за этот период, а заработал… 1 450 рублей. Зато сколько опыта на тему исследования рынка, пользователей и маркетинга.

Woodle Search — разрабатывал полтора месяца. Вложил ~60 000 рублей, заработал ~5 000 рублей. Потом случилось 24 февраля, Google Maps ушли из РФ и на проект я забил. Да и откровенно не до него было тогда. Тогда-то мысли в кучу собрать, а не о пет-проектах думать.

Заключение

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

116116
87 комментариев

Очень круто увидеть на VC наконец интересную статью про стартап, а не рекламу или новости.

Автору делаю удачи в развитии!

Открыл для себе, что superset используется для e2e, можно чуть подробнее рассказать в этой части?

9
Ответить

Спасибо :)

Supertest*. Он помогает подключиться серверу (именно с точки зрения кода) и делать к нему запросы напрямую.

Тут стоит уточнить: e2e бывает разный. Конкретно тут я говорил про e2e для API.

2
Ответить

Тоже пилю свой бутстрап в соло.
Немного тяжеловато бывает психологически, но ты соло, я соло - уже как бы комьюнити!
Удачи тебе и пиши про БДСМ, такое всегда интересно почитать.

7
Ответить

В следующей статье будет блэкджек и шл*хи.

Хотя нет.

Блэкджека не будет (и это не шутка...).

:)

2
Ответить

Сложилось ощущение, что 80% поста - это реклама сторонних сервисов

1
Ответить

Так любой IT проект использует кучу стонних сервисов. Любой мало-мальский IT продукт наполнен интеграциями.

Да и в целом IT разработка - это собирание пазлов из других IT разработок, интеграций и готовых решений

Вот и рассказал, что использую я

16
Ответить

У меня было похожее ощущение, но я посмотрел другие подобные посты и это ощущение перестаёт быть чем-то странным.

1
Ответить