8 пользователей и 1200 ₽ MRR в 15 лет: как я делаю аналог Taplink, чтобы накопить 4 млн на учебу в Италии
Сразу к цифрам, чтобы не было ощущения, что я прячусь за красивыми словами про «коммерческий продукт».
То, что есть прямо сейчас
У меня есть сервис vext.run - ссылка в шапке профиля, аналог Taplink. Сейчас у него 8 платящих пользователей, подписка стоит 150 ₽ в месяц - это примерно 1200 ₽ ежемесячной регулярной выручки. Уточню сразу: это новые пользователи именно vext.run, тех, кто просто перенёс профиль из старого сервиса, я в эту цифру не включаю.
Ещё была одна продажа NFC-визитки за 1800 ₽. Это физическая карта с чипом: подносишь её к чужому телефону, и человеку открывается твой профиль в vext.run. Цена ниже обычной - скидка тому, кто купил первым, надо же было его как-то отблагодарить.
Сколько времени это всё отнимает - вопрос отдельный. Сейчас лето, и я трачу на vext.run по 4-5 часов в день. Когда начнётся школа, будет сложнее: я в 10 классе, впереди ЕГЭ, и в будни на разработку останется от силы час-полтора вечером, если повезло с домашкой. Основной объём работы сдвинется на выходные. Спать по три часа и кодить ночами я себе не разрешаю - оценки и здоровье важнее любой фичи, которая спокойно подождёт до субботы.
Почему это вообще не первая моя попытка
Похожий сервис мне когда-то показал родственник. Я к тому моменту уже писал код, поэтому вместо того, чтобы просто зарегистрироваться в чужом сервисе, собрал себе кастомную страницу на собственном домене - раз умею сам, зачем платить кому-то другому.
И почти сразу сделал из этого что-то коммерческое, потому что некоммерческие штуки я делать не люблю: почти всё, что я собираю, изначально задумано так, чтобы приносить деньги. Даже на школьных конкурсах, защищая проекты перед жюри, я всегда показывал не просто рабочий прототип, а то, что он способен зарабатывать и не умрёт на следующий день после награждения, а продолжит жить.
vext.run, впрочем, тоже появился не сразу в нынешнем виде. Весь путь этого продукта - больше года, а то, что вы видите сейчас, я пересобрал заново примерно за месяц, без единой строчки старого кода.
Предыдущая версия была устроена простовато: страницы полностью статичные, и стоило пользователю захотеть что-то поменять - новую ссылку, текст, кнопку, - я лез руками в JSON-файл и правил его сам. Личного кабинета не было. Админки тоже. По сути я не сервис предоставлял, а вручную обслуживал каждого клиента через текстовый редактор, поэтому и не считал это чем-то, что способно приносить настоящий доход. Скорее хобби с элементами ручного труда.
Сейчас иначе: у пользователя свой кабинет, он сам двигает блоки, меняет тему оформления, следит за статистикой без моего участия.
А вот сам лендинг - то, что видит человек до регистрации.
«Опять один из тысячи Тапликов»?
Да, знаю, рынок перегрет: Taplink, Linktree и ещё сотня аналогов помельче. Искать здесь непроверенную нишу было бы смешно, я и не искал.
Раньше в этом месте я бы написал что-то про дизайн и про 152-ФЗ. Но если разбираться честно - дизайн вещь вкусовая, минимализм для одного означает удобство, а для другого просто «мало функций». А 152-ФЗ - это моя обязанность как оператора персональных данных, а не выгода, которую заметит обычный пользователь: ему, как правило, всё равно, в какой стране физически стоит сервер. Выдавать это за конкурентное преимущество было бы странно)
Реальных отличия у меня на самом деле два:
Первое - физическая карта. У подавляющего большинства сервисов мультиссылок вся жизнь ограничена экраном: ссылка, которую вставляешь в шапку профиля, и всё. У меня к странице добавляется NFC-визитка - вещь, которую вручаешь человеку в руки на встрече, на мероприятии, на собеседовании. Подносишь карту к чужому телефону - у человека открывается твой профиль в vext.run со всеми контактами, без «продиктуйте номер» и без стопки бумажных визиток в кармане. Обмен контактами вживую цифровой сервис в одиночку не решает никогда, а связка «страница плюс карта» - решает. Если честно смотреть на цифры, это и есть основной потенциальный драйвер выручки: подписка стоит 150 ₽ в месяц, а карта продаётся разово за 2500 ₽, и один клиент с картой сразу перекрывает несколько месяцев подписки.
Второе - это я сам. Люди покупают у людей, а не только у набора функций. Часть из тех восьми подписок, подозреваю, это не столько оценка фичей продукта, сколько поддержка человека, который в 15 лет пытается дойти до конкретной цели. Мне не стыдно это признавать: я не безликий бренд, а конкретный человек с именем и целью, и это тоже часть продукта - нравится это классической маркетинговой теории или нет.
Технически: во что это упаковано
Next.js 16 на app router, Tailwind CSS v4. База - PostgreSQL, Redis отвечает за rate limiting. Пароли хэшируются через argon2, токены - через jose, входящие данные валидируются через zod. Вместо капчи с картинками стоит cap.js, open source: вместо привычного «выбери все светофоры» браузер сам решает небольшую вычислительную задачу, а пользователь этого даже не замечает.
Сервера беру у одного российского хостинга - как раз для соблюдения 152-ФЗ. Разложу по цифрам, раз уж статья и так честная:
- 730 ₽/мес - 4 Core, 8 Gb RAM, 80 Gb SSD. На этом сервере крутится основное приложение с 4 репликами на каждое ядро, плюс Redis.
- 199 ₽/мес - 1 Core, 2 Gb RAM, 30 Gb SSD. Здесь живёт PostgreSQL.
- S3-хранилище - там же, но это буквально копейки: 2,4 ₽/Гб в месяц, а аватарки пользователей весят около нуля.
Итого инфраструктура - чуть меньше 930 ₽ в месяц при MRR в районе 1200 ₽. На 8 пользователях сервис едва отбивает свои же сервера, а вся моя работа пока идёт бесплатно. Это нормально на такой стадии, и я не собираюсь это приукрашивать. (Если тоже присматриваете хостинг в РФ под 152-ФЗ - вот ссылка на регистрацию, она реферальная: makecloud.ru
Зачем вообще всё это
У меня есть конкретная цель: 4 миллиона рублей за чуть больше двух лет, чтобы уехать учиться в Италию, не завися от того, дадут ли мне стипендию DSU и готовы ли родители это оплатить (и хочу ли я вообще, чтобы они оплачивали). 8 пользователей и 1200 ₽ MRR - это очевидно не «уже почти собрал сумму») Это точка А, зафиксированная публично, чтобы через полгода-год было видно, было движение или нет.
Если любопытно посмотреть на сам продукт - вот живой пример, моя собственная страница: https://vext.run/stov0. Там же, кстати, все мои соцсети - сама страница сделана в моём же сервисе.