Как появилась идея?
В конце 2022 года к ChatGPT пришла популярность. Все о нём говорили, писали, рассказывали и клепали мемы. Я успешно проигнорировал этот момент, пропустив всё мимо ушей.
В феврале я наткнулся на бесплатного ChatGPT-бота в Telegram. Написал ему несколько сообщений, поигрался... и забыл про него. После чего прошло ещё немного времени, когда можно было бы супер удачно запустить проект с ChatGPT.
И вот уже ближе к середине марта меня осенило: у ChatGPT есть API! Следовательно, появилась идея: а что, если локализовать API и перепродавать его юр. лицам. Так, чтобы они платили мне в рублях, а я закупался у OpenAI в долларах. Разницу - в карман.
Спустя пару дней я упростил концепцию. В B2B продавать сложно. Можно проще! Буду продавать сразу конечным пользователям. Нужно только сделать сайт, настроить рекламу, прокачать SEO и SaaS готов. Можно продавать подписки. Основную ставку сделаю именно на SEO (спойлер: сработало).
Так появился сайт ChatGPT. Специально выбирал с вхождением ChatGPT в домен, чтобы легче было пробиться в SEO по этому запросу.
Как проект сделан с технической стороны
С технической стороны всё относительно просто: при запросе пользователя в чат я прокидываю запрос в
от OpenAI. Ответ показываю пользователю.
При оплате подписки пользователю начисляются токены, которые расходует ChatGPT. Для анализа расхода токенов использую
.
Доход берётся из двух составляющих:
- Неизрасходованные токены на конец месяца.
- Мой % поверх токенов, которые я даю пользователю.
Серверная часть написана на NodeJS + NestJS. Основная часть сайта разработана на NextJS, лендинг сделан на Svelte (игрался с достижением максимума в Google Page Speed). База данных PostgreSQL, Redis для кэширования и как брокер сообщений. Nginx в качестве HTTP-прокси сервера.
Первую версию разработал примерно за месяц (но в довольно медленном темпе, так как времени было мало).
Как привлёк первых клиентов
Продвижения я начал со следующих действий:
- Закупился ссылками через SeoWizard и опубликовался во всевозможных каталогах программ.
- Запустил рекламу в Яндекс Директе (что меня удивило - на тот момент мало кто рекламировался по запросу ChatGPT).
- Сделал несколько статей на vc.ru, pikabu и habr. Правда их все почти сразу удалили или заминусовали (справедливо, но трафик - есть трафик).
На каждую новую регистрацию у меня стояло оповещение в Telegram. Особо на резкий успех я не надеялся и не подумал, что это плохое решение. За ночь чат с оповещениями был забит сообщениями, а на следующий день телефон блымкал каждые 20-30 минут.
Выглядело это вот так:
Посмотреть вложение 21317
Регистрировалось много людей, платило мало. Пришлось отключить сообщения о регистрациях и оставить только об оплатах:
Посмотреть вложение 21316
В целом, запуск оказался довольно успешным. За первый месяц существования проекта я вложил ~30 000 рублей и заработал примерно столько же. Выйти в ноль - уже успех!
На минутку я даже почувствовал себя успешным предпринимателем.
Инсайт: накрутка поведенческих факторов
С самого начала у меня было понимание, что пользователю нужно дать попробовать продукт. Поэтому в чате было доступно 10 бесплатных сообщений.
В какой-то момент я проанализировал и понял: школьники массово регистрируются ради 10 бесплатных сообщений. Вот пример за этот месяц, вчитайтесь в почты (я их не проверяю через подтверждение по ссылке):
Посмотреть вложение 21315
И эти регистрации... чертовски накручивают поведенческие факторы для поисковиков! Я дал немного халявы школьникам, а они дали мне позиции в SEO. Win-Win, получается.
Как проект рос
Спустя несколько недель, сайт выкинуло вверх SEO выдачи по запросу "ChatGPT" и от рекламы я отказался. Вкладывал только в закупку ссылок и понемногу дорабатывал чат.
Вот график регистраций за все месяцы с апреля:
Посмотреть вложение 21314
Всё это время я относился к проекту как к "временной темке", поэтому не рассчитывал заработать миллионы. Просто радовался каждому пику и ждал, когда это всё счастье закончится.
В начале мая и середине июля проект подкидывало на первые позиции. В эти дни количество подписок росло в каких-то аномальных количествах. Оповещался уже давно стояла на беззвучном, а чат выглядел так:
Посмотреть вложение 21313
В хорошие дни чат приносил по 5 000 - 7 500 рублей. Из них чистыми было ~70% от выручки! Я очень сильно надеялся, что это будет вечно (спойлер: нет).
Инсайт про подписки
В какой-то момент я заметил, что регистрации растут, подписки растут, а мой платёж OpenAI стабильно составляет ~10 000 рублей. И решил проанализировать: а сколько людей реально расходует свои токены хотя бы наполовину?
Выяснилось, что только 2.5% пользователей хоть раз израсходовали 50% доступного месячного лимита по токенам. Хотя подписок в пике было более 90 000 рублей в месяц.
Получается, ~90% людей мне просто дают деньги, а сами толком и не пользуются тем, что купили. Для меня это был невероятный инсайт и тут до меня дошла вся выгода SaaS сервисов.
А теперь представьте, сколько зарабатывают спортзалы с ежемесячным списанием или Яндекс Плюс (хотя Яндекс Плюсом я и правда пользуюсь).
Мораль: на подписках зарабатывать легче всего. Подписка на маленькую сумму легко оформляется с точки зрения психологических усилий, но за 5-10 месяцев незаметно накапывает уже ощутимая сумма.
Какие были проблемы
А теперь немного о сложностях. Как по мне, этот проект принёс очень легкие деньги, но всё же о моментах, где я облажался, тоже нужно упомянуть.
- Дропнул базу пользователей (epic fail!)
Регистрация через сайт делается через почту. В самом начале я не сильно валидировал поля и можно было вписать две одинаковых почты разным регистром. Например, две разные с точки зрения системы почты: "
[email protected]" и "
[email protected]".
В какой-то момент клиентка не могла войти в нужный аккаунт, так как сделала почту с заглавной и строчкой буквы. Я решил все-таки поправить регистр почты для регистрации, поставив всё lowercase'ом.
Но конкретно эта клиентка попросила поменять ей почту вручную.
Ну я и полез в базу, чтобы обновить SQL-скриптом одну почту. Написал сначала скрипт WHERE, чтобы проверить выбор только одной почты. Затем для такого же WHERE написал уже UPDATE скрипт. И, по всей видимости, где-то не закрыл скобку.
- Запустил. Через секунду все ~25 000 почт стали NULL.
В момент у меня пошёл холодный пот по спине и я подвис на две минуты. Но бекапы были на месте, я восстановился и пошёл менять футболку на сухую. Оказалось, дропнуть базу на проде действительно можно.
В какой-то момент я решил сделать мобильное приложение, чтобы ещё и в RuStore выпадать по запросу "ChatGPT". Таких приложений не было, поэтому идея имела шансы на успех и можно было бы получить дополнительный источник трафика.
За неделю разобрался с React Native, косо-криво сделал приложение, пошёл публиковаться и... RuStore не дал использовать имя ChatGPT. Справедливо, но грустно. Опубликовался под другим именем.
Через неделю удалил приложение, так как регистраций было очень мало, а приложение мозолило глаза.
Изначально API работал нормально для всех регионов. В какой-то момент OpenAI решил заблокировать доступ из России для API в том числе.
Пришлось экстренно переезжать в Нидерланды (на новые сервера, я имею ввиду). Из-за перенаправления домена вышел день простоя.
Нужно было предвидеть ситуацию заранее.
Как Яндекс убил SEO
В сентябре я ожидал стремительный рост проекта, ведь открываются школы и институты. Моей ЦА снова нужен доступ к безграничной информации! "Да я же машину себе так куплю!", — в какой-то момент подумал я. Но 30-го августа мне прилетело вот такое оповещение в Яндекс Вебмастер:
Посмотреть вложение 21312
Сначала я вообще не понял, что это. Потом погуглил и выяснил, что "мимикрия" - это когда сайт пытается выдавать себя за другой популярный сайт.
Написал в поддержку Яндекса, что именно не так. Поддержка не помогла. Сказала, что это всё алгоритмы поиска и сами разбирайтесь. "Если всё исправите, через 30 дней сайт вернётся в выдачу".
30 дней без выдачи - это практически смерть проекта и переход всех позиций к конкурентам (а к сентябрю таких чатов уже было полно). В общем, вышла ситуация: сайт выбит из выдачи, никто толком не может сказать, что исправлять.
Методом тыка я пытался и переписывать текст, и убирать слово "ChatGPT" из названия, и всё такое. Ничего в итоге не помогло.
С этого момента началась плавная смерть проекта.
В силу того, что я относился к проекту как к "временной темке" и ожидал чего-то такого, я погрустил пару дней и успокоился. Да и Яндекс поступил, наверное, правильно (ведь не зря такой алгоритм придуман). Тем более Яндекс работает иногда пободрее Google, да и вообще сервисы у него все (почти) классные.
Единственное, что хотелось бы в этой ситуации - это понятным языком сказать, что именно не так и помочь исправить сайт не "за 30 дней методом тыка", а оперативно.
Ведь если действительно серьезный сайт попадёт под такую блокировку по ошибке, это вызовет очень много проблем его владельцу на ровном месте без возможности куда-нибудь обратиться за помощью.
Какие планы дальше
У сайта идут единичные регистрации и есть ~60 000 рублей подписок в месяц. Поэтому проект я поддерживаю, не особо активно развивая новые функции. Когда подписки совсем угаснут и сервера будут стоить дороже - закрою его. Но это, чувствую, будет года через пол, если не позже.
Выводы
За полгода я запустил проект и смог заработать на нём. В этот раз мой опыт помог мне сделать проект прибыльным почти со старта. Я получил полезные инсайты, узнал о новых проблемах и укрепил понимание, что возможности - они везде (ведь мне говорили: - "Да зачем сайт с ChatGPT, сейчас полно ботов и вообще VPN можно включить").