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