Недавно я узнал про методику SCAMPER. Она из разряда простых, но мощных инструментов креативного мышления. Суть в том, что ты берёшь продукт или задачу и начинаешь смотреть на неё с семи разных углов:
S — Substitute (заменить) C — Combine (комбинировать) A — Adapt (адаптировать) M — Modify (модифицировать) P — Put to another use (использовать иначе) E — Eliminate (убрать) R — Reverse (перевернуть)
Методика работает как игра: задаёшь себе вопросы, которые обычно не задаёшь, и получаешь неожиданные варианты.
Пример: возьмём банальный TODO-менеджер. – Что можно заменить? Ввод руками — на импорт задач из мессенджера. – Что комбинировать? Список задач + календарь в одну сущность. – Как адаптировать? Взять механику из игр и добавить квесты. – Что модифицировать? Из списка сделать канбан с лимитами. – Где использовать иначе? Движок для задач отдать командам саппорта. – Что убрать? Проекты и теги — оставить «сегодня» и «инбокс». – Что перевернуть? Планировать не с утра, а с конца дня — от дедлайна назад.
Из одной скучной идеи рождается десяток направлений для MVP. А дальше уже вопрос проверки спроса.
Такие инструменты отлично ложатся на indie-hacking и пет-проекты. Вместо того чтобы застревать в одной гипотезе, можно быстро погонять несколько вариантов и проверить, что реально работает.
Для меня SCAMPER стал открытием: всего семь «рычагов», которые помогают находить новые решения даже там, где кажется, что всё давно придумано.
Кстати, я регулярно делюсь такими находками и своими экспериментами в инди-хакинге у себя в телеграме 👉 (ссылка в профиле)
Она - автор нового развлекательного проекта "Капибара". Проект уже успел наделать шуму. И по большей части благодаря комьюнити. Как все началось? Это история для сериала. У айтишницы было две работы, ипотека и колоссальная нагрузка. Сломаться, устать можно по "щелчку Таноса". Отдыхала глазами на "Пикабу". Читала, постила. Пока политика сайта не пошла вразрез с ее личными убеждениями. Дальше был вихрь.
- Это название выбрали пользователи. Сначала устраивали мозговой штурм. Потом голосовали в два этапа за понравившиеся варианты. Потом откатывались, чтобы обоснование сделать: почему тот вариант, а не другой. В целом, это полностью инициатива самих участников. Когда задала финальный вопрос: «Название «Капибара» всех устраивает?», больше 500 человек ответили: «Да!»
- А где проводили это голосование?
- В чате. Он создался в первые секунды жизни идеи. Там есть специальный топик: выбираем имя для проекта. В нем и провели голосование буквально через 3-4 дня после его создания. 24 июля обновился «Пикабу». В этот же день мною был создан тот самый пост, тут же был создан чат и все понеслось…
Капибара - герой мемов
О причинах популярности капибар (ссылка на материал в Тинькофф журнал)
- Все-таки изначально идею предложили вы? Это связано с модой на капибар?
- Идея названия – полностью пользовательская. Я изначально дала только рабочее название Vortex. Нужно было заводить репозиторий, называть документы, папки. В общем, я автор только служебного названия. Но я не взяла на себя ответственность, что так будет называться весь проект. А Vortex потому, что у меня сложился такой ассоциативный ряд. Как «Капибара» началась вихреобразно, так все и понеслось.
- Вихреообразно – имеете ввиду, что началось все эмоционально?
Мы как-то очень неожиданно, очень импульсивно стартовали. Когда вышло обновление на «Пикабу», то от меня был всего один эмоциональный пост
- Стоп. Ольга, что за пост, с которого все началось?
Я написала «С этим «Пикабу» все понятно, если никто не начнет делать новый, то это начну делать я»
Триггером стал выход обновления на «Пикабу». Отмена отображения минусов. То есть в «горячее» с прошлого обновления стали попадать посты с отрицательным рейтингом. Это оказалось не багом: они что-то сделали с алгоритмами и не будут «чинить» рейтинговую систему, а будут маскировать продвигаемые посты под видимость обычных.
Я поняла, что того, что я любила на «Пикабу», больше не будет. Я была не согласна с тем, что нет альтернативы. Мол, есть «Пикабу», он единственный, терпите. Альтернатива нужна! Тогда еще не было известно ни про «Вомбат» ни про другие новые проекты.
Когда я создавала этот эмоциональный пост, думала, что впишусь в какую-нибудь команду разработчиков. О том, что я возглавлю, я даже не подозревала.
А, да, на «Пикабу» мой профиль забанили за упоминание «Капибары». Моему аккаунту было 8 лет и больше 100 000 рейтинга. Это не топ, но очень неплохие цифры для «Пикабу».
— Вы создали пост и получили обратную связь от пользователей?
- Да, посыпались комментарии: «Фронтенд-разработчик у тебя есть! Я разработчик с четырнадцатилетним опытом – я с тобой!»
Я создала отдельный чат в телеграм: ну пусть будет, и ушла работать.
Через два часа возвращаюсь, а в чате 3,5 тысячи человек
Ольга получила сильную поддержку сообщества
Я включила людям топики, темы они создавали сами, какие-то голосования начали вести. Посмотрев на это, я поняла, что надо стартовать разработку прямо сейчас, потому что люди уже начали голосованием выбирать базу данных, языки программирования и прочие технические вещи. Но это не те вещи, которые выбираются голосованием…
- То есть в чатах народ взял власть в свои руки?
- Абсолютно. Но оно пошло не в том направлении, в каком имело хоть какие-то шансы развиться. Поэтому к вечеру следующего дня я написала, каких именно компетенций нужны специалисты.
Мне ответили: «Давайте не будет как с народным Авито!» «Народное Авито» — это проект «Мой торг», тоже проект пикабушников, которые решили создать свой «Авито». Один из ребят из той команды сказал мне: «Блин, мы за полгода ни строчки кода не написали. Давай здесь не будет также…»
Про энтузиазм и конфликты
- Проект, абсолютно построенный на UGC – это, наверное, какой-то идеал, к которому вы стремитесь?
- Есть огромная разница, между тем как строить проект и как им пользоваться. Как им пользоваться — не вопрос. Мы все делаем для того, чтобы это была UGC-платформа с минимальным вмешательством со стороны администрации. То есть это действительно полностью власть пользователей. Люди сами решают, какой контент годный, что будет в тренде, что будет в топе, а чему нужно утонуть в минусах. Это полностью их вотчина.
Но при постройке самого проекта, при создании архитектуры, кодовой базы, дизайна такая демократия невозможна.
- А вы не думаете, что проекты, созданные на эмоциях, долго не живут?
Если в проекте только одна эмоция – я полностью согласна. Но «Капибара» разогналась до достаточно приличной скорости. Ее притормозить просто так не получится. У проекта колоссальная поддержка коммьюнити. Идея жива. Продукт людям нужен.
Даже если меня завтра собьёт автобус – «Капибар» легко восстановить, потому что исходники в открытом доступе.
У команды есть доступы, и базы данных «Капибары» могут поднять на соседнем домене. Я диверсифицировала риски.
- Что «Капибар» сегодня из себя представляет?
- Это платформа с честной регуляцией и алгоритмами, прозрачной рейтинговой системой, саморегуляцией контента пользователей и приятной площадкой для авторов.
Получается – основные отличия «Капибары» как UGC -платформы от сотен других соцсетей в том, что человек настраивает не только свою ленту – игнором тегов, подписками на теги, но и он влияет на то, что в трендах. У «Капибара» нет информационного пузыря. Здесь ценится то, что ты делаешь и пишешь.
Ленты «Тренды, Топ и Авторское» — это отдельные ленты, на которые ты не подписывался. Подписка — отдельная лента. Каждый человек влияет своими оценками на то, что попадает в тренды.
- Какие цифры у «Капибары» сейчас?
На сегодня Капибара — это 1 890 зарегистрированных верифицированных пользователей, постов за все время – 3 550, комментариев – 24 000.
Незарегистрированных пользователей мы еще не особо умеем считать. Пока здесь надежда на Google метрики, Яндекс-аналитику и Similarweb. Он, кстати, говорит, что у нас 192 000 посетителей за месяц.
- Для вас это больше цифры?
- Сложно сказать. Наверное, большие.
- Вы говорите, что 1, 8 тысяч зарегистрированных пользователей. Но если сравнивать с подписчиками какого-нибудь крупного паблика – это не очень большая цифра
- Капибар вышла в публичный доступ 1 января. Это отдельный сайт без раскрутки. Получается, что для проекта, который в доступе чуть больше 2 месяцев – это очень хороший показатель.
Саму разработку мы начинали летом. В ноябре вышли в закрытый альфа тест. Туда можно было заходить по приглашениям. Человек заходил со всеми дисклеймерами: понимал, что это тест, понимал, что еще куча багов. Но, таким образом, мы авторов запускали.
— Команда капибар. Кто это?
- Динамический состав команды. Часть разработчиков пришла со старта. Часть после. Часть присоединилась недавно. Это высококвалифицированные специалисты. С коммерческим опытом работы больше четырех лет. Я не могла позволить себе взять команду джунов. Потому что это оттягивало бы ресурс остальных разработчиков.
Все спецы очень высокого грейда. Все это истинные герои и энтузиасты. Идейные люди. Очень самостоятельные. С комплексным видением с умением цельно видеть весь продукт и проект. Что редкое качество.
- Сколько денег потратили на запуск проекта?
- Честно — не считала. Расходы на регистрации доменов, ботов для упрощения модерации в канале, инфраструктуру – это все совершенно не сравнимые цифры с тем, сколько бы я потратила на разработку, если проект был бы коммерческий.
-???
- Можно посмотреть на HeadHunter среднюю зарплату разработчиков. У нас 10 человек – костяк команды, а в целом в команде разработки было до 40 человек.
У нас динамический характер команды. Если бы все эти люди были на зарплате, то на проект уже бы потратили восьмизначные суммы.
(От автора)Чтобы посчитать возможные затраты на проект, я возьму среднюю зарплату программиста middle уровня в РФ – 120 000 рублей (hh. ru). Костяк команды «Капибара» — 10 человек. В итоге, ежемесячно на проект Ольга тратила бы 1, 2 млн. рублей. Учитывая, что с момента разработки прошло уже больше 7 месяцев, то затраты составили бы около 10 млн. руб только на постоянных участников проекта, не считая тех, кто нерегулярно привлекается к задачам.
«Капибара» едет на энтузиазме. Люди горят идеей, чтобы этот проект был. Чтобы существовала альтернатива. Поэтому open source код и затраты только на инфраструктуру (облачные сервера).
- Понимаю – проект молодой. Но были ли конфликты с пользователями?
- Да, конфликты случаются. Связано в первую очередь с тем, что «Капибара» – пока без политики. И мы об этом рассказывали до старта проекта, и повторяли не раз. Это записано в правилах и повторяется самими пользователями.
У некоторых были ожидания, что проект станет местом, где можно обсуждать и двигать свои политические идеи. Те, которые не проходят модерацию на «Пикабу».
Я не готова рисковать проектом, который могут «роскомнадзорнуть» за чье-то высказывание. И я не хочу, чтобы «Капибара» превращалась в агитплощадку. Потому что это очень непростая тема, на которую даже близкие люди могут переругаться. А на огромном сайте…
Конечно, есть не согласные с этим.
«Капибара» делалась как обитель авторского контента. Того, которому не придется сражаться за доступ к читателю пробиваясь через «баяны» и рекламу десятков тысяч телеграм-каналов. У всех были свои ожидания, и есть люди, которые ждали, что там будет свобода вообще во всем.
Отмечу, что мы ограничены законодательством всех стран технического контакта. Большинство пользователей из России, а значит, надо соблюдать закон РФ. Это мы делаем в добровольном порядке. Мы соблюдаем закон.
Главный фейл и инсайт Ольги в этом вихре "Капибара" я по-традиции опубликовал в своем телеграм-канале "Стас смотрит рекламу"
Про несогласие с отсутствием альтернативы на рынке
- «Капибар», «Вомбат», «Пипмай», есть, думаю, еще ряд проектов, о которых пока мы не знаем. Почему вдруг люди начали делать подобные проекты. В чем причина?
- Я думаю, несогласие с отсутствием альтернативы. В воздухе висит такое: «Хочешь альтернативу? Иди на «Reddit». Там англоязычные люди из далекого зарубежья и их посты тебе не «откликаются». Это не про тебя. Да, есть «Yaplakal. com» – там своя специфика. Есть «Fishki. net» – но это не замена «Пикабу».
- В чем отличия?
- По функционалу, по темам, по аудитории, по специфике.
- А чем аудитория отличается?
- Я взяла агрегированные данные. Читала немало постов на тему, почему это не аналог, но сама эту аналитику не проводила. Если вкратце – это не замена. Все аналогичные проекты, о которых говорили выше, стартовали, чтобы у людей был выбор
- У проекта есть бизнес-цель или это пока хобби?
Это точно не хобби. Это уже слишком серьезно.
Но цели «зашибать» там миллионы мы не ставили. Если финансово взлетит, то, конечно, отказываться от денег не будем. Цель минимум — вывести проект на «самоподдержание».
- А в целом, сколько времени у вас отнимает работа над «Капибарой»?
- Все свободное время. У меня стандартная восьмичасовая пятидневка. А «Капибар» это уже не просто «поработать». Я ею живу! У меня каждое утро начинается с «Капибар». Появляется минута на обеде – «Капибар». Свободный вечер – «Капибар».
- Как сейчас продвигается проект?
- SЕО продвижение. Страницы "Капибары" очень хорошо индексируются google и Яндексом. Ну, и конечно, сарафанное радио. Сообщество рассказывает о «Капибаре». Плюс, у нас есть страницы в ВК, откуда приходят люди. Но если верить Similarweb, то основное количество людей идет через Телеграм. Люди делятся статьями, пересылают их, рассказывают о них. Плюс у нас регулярные публикации на других ресурсах.
Например, первая статья на Хабре удачно выстрелила, есть статьи на vc, на tenchat, на реддите.
- То есть пока вы не заходите в такие инструменты как Яндекс. Директ и т. д.?
- Пока нет такой необходимости. Для этого нам нужно SEO ядро. Человек, который умеет это делать, чтобы не сливать бюджет.
«Все! Не могу больше…»
- Возвращаясь к Пикабу. Есть мнение из комментариев к одному моему интервью, что клонов у этого сайта десятки. Что можете ответить на это?
Могу ответить: «Пожалуйста, не бросайте начатое. Альтернативы — это прекрасно. Свободный рынок – это двигатель развития, прогресса. Нам нужно разнообразие. Чем больше создается таких площадок, тем выше шанс, что через 10-15 лет кто-то из нас будет еще существовать».
- То есть вы говорите о том, что если крупные площадки закроются, то вся масса пользователей останется без контента?
- Нет, без контента, конечно же, не останется. Но вопрос в качестве этого контента. Быстро, легко, смешно, листай-листай-листай… Посмотрите на рилсы в Инстаграме*, на клипы в ВК, перепосты «хохотачей» с Одноклассников, сотни тысяч телеграм-каналов с мемами. «Пикабу» взял тот же ориентир. Площадок с качественным авторским контентом все меньше.
- Есть еще мнение конспирологическое. Якобы за созданием «Вомбата» и «Капибар» стоит один человек. И якобы это сайд-проекты «Пикабу».
- Впервые слышу такое мнение. «Вомбаты» и «Капибары» в коллабе. Мы поддерживаем друг друга. У нас совместные активности и конкурсы. Тот же «Анонимный Дед мороз» или конкурс на 14 февраля. У них под тегом – #любовьморковь , у нас #расскажи мне о любви. И призы были совместные. Хлопнули по лапкам и помогаем в развитии друг другу.
Нет, никто не из администрации «Пикабу». Мы все — бывшие пользователи «Пикабу».
- Ольга, когда хотелось бросить проект? Ну, вот: «Все, не могу больше…»
«Капибара» началась, когда в моей жизни было одновременно две работы, и я только-только влезла в ипотеку. Представляете уровень нагрузки?! И тут появляется третья бесплатная работа — «Капибара».
Она забирает время и деньги. Конечно, я была близка к выгоранию! И, например, через месяц руки уже опускались!
Взяла выходные. Провела их как нормальные люди и снизила нагрузку. Тут мне очень помогли модераторы, команда проекта, активисты чата. Они взяли на себя многое из того, чем занималась я. И за чатом смотрели, и обновления сами выкатывали, и конкурсы сами проводили, и различные мероприятия/игры для поддержания активности пользователей, и объявления раскидывали, и с текстами помогали, и авторов звали. Стало проще.
- Ваша большая нагрузка была угрозой проекту?
- Это сложно назвать угрозой. Потому что я заложила очень сильный фундамент в «Капибару». У нее высокая автономность. Даже если бы я выпала на 3 месяца из проекта, то я сделала в команде высокую ставку на самоорганизованность.
- Что это значит?
- Каждый понимает, что он делает. И делает, не спрашивая разрешения. У нас есть функциональные требования и общее понимание того, во что целимся. В виде прототипа — тот же «Пикабу». И мне не нужно расписывать людям в деталях: сделай так или так. Команда высокопрофессиональная и на высоком уровне организованности.
Даже если все пропадет по щелчку Таноса – исходники находятся в открытом доступе. Кто-нибудь обязательно возьмет и продолжит…
*Meta – запрещенная на территории РФ организация
Мы проговорили с Ольгой несколько часов. Материала много. Она высококлассный специалист и не попросить ее поделиться лайфхаками было бы глупо. Она поделилась: как использует нейросети в работе над проектом. Нейронки пишут код, ищут ошибки, забирают рутину. Но, это уже вторая часть интервью, которая выйдет позже. Проанонсирую в своем канале: Стас смотрит рекламу
🌟 Обновления на Капибаре: Новый уровень взаимодействия и контента! 🌟
Здравствуйте, уважаемые Капибарины и Капибарышни, а также все заинтересованные и мимо проходящие.
Сегодня важный день, ведь на сайте впервые выходят официальные новости проекта и в них мы хотим рассказать, что было сделано за последнюю пару недель!
📸 Изображения
Картинки в постах - это так привычно, что кажется само собой разумеющимся. Однако, чтоб добавить возможность загрузки изображений на сайт, команде разработки пришлось знатно потрудиться :)
Для максимальной скорости и эффективности выгрузки изображений из любой точки Земли мы внедрили на сайт CDN - Content Delivery Network. Эта система позволяет оптимизировать загрузку, распределяя ваши картинки по серверам, что минимизирует задержки и ускоряет отображение.
Также была реализована функция проверки размера изображений и их сжатие. Это гарантирует, что слишком большая фотография не заставит сайт лагать или работать медленнее. Мы понимаем, что такое решение может расстроить фотографов и тех капибаринов, которым важно разглядеть все мельчайшие детали в первозданном виде. Однако покуда наш сайт молод и мал, к сожалению, это наиболее оптимальное решение для обеспечения его работоспособности.
На наш сайт помимо обычных картинок вы можете загружать и гифки (.apng, .gif, .webp) размером до 5 Мб. Каждое загруженное изображение конвертируется на стороне бэкенда в webp для оптимального отображения и снижения нагрузки на инфраструктуру.
Для не прогружающихся картинок - из-за плохого интернета, проблем на сайте или в браузере - мы добавили плейсхолдер - специальную рамку, которая рисуется вместо проблемного изображения.
Ограничение количества медиа в комментариях. Введено ограничение на количество медиафайлов в комментариях до двух изображений, чтоб не перегружать интерфейс и не удлинять сверх меры комментарий. При попытке добавить третью картинку сайт предложит создать отдельный пост.
🤖 Бот для Верификации через Telegram.
Для упрощения процесса верификации профилей через Telegram был создан специальный бот. Он позволяет пользователям верифицировать свои аккаунты всего в три клика.
Для бота верификации добавлена поддержка создания Docker-образов в среде GitLab-CI.
Это означает, что процесс развертывания и обновления бота теперь может быть полностью автоматизирован с использованием Docker-контейнеров. Внедрение GitLab-CI обеспечивает непрерывную интеграцию и доставку (CI/CD).
💭 Комментарии
Почти одновременно с началом альфа-теста была завершена разработка дерева комментариев. Мы реализовали сами комментарии а так же систему управления их вложенностью - это значит, что когда ветка уходит вправо на 4 (для телефонов) или 9 уровней (для компьютеров), новые комментарии оказываются снова слева , однако теперь с гиперссылкой на родительский комментарий. Это улучшает визуальное восприятие длинных веток и предотвращает излишнее дробление обсуждения.
Заложен первый камень в защиту сайта от ботов. Была реализована верификация пользователей через телеграм и ограничение на комментирование, голосование и создание постов для тех, кто её не прошёл. Такая система позволит усложнить жизнь ботоводам, ведь завести 100500 почт намного легче чем 100500 телеграм-аккаунтов. От того, что они у нас массово зарегистрируются, особого вреда не будет, а вот от того, что они будут клепать «нужные» посты, бурстить / топить «нужные» комментарии / посты — вред очевиден (Если этого не сделать, будет как на Пикабу сейчас)
Для живых, пока еще неверифицированных пользователей, мы реализовали интуитивно понятные всплывающие сообщения о необходимости подтверждения аккаунта при попытках комментирования, голосования или создания постов. Это улучшает пользовательский опыт, предоставляя чёткие инструкции о необходимости верификации для полного доступа к функционалу платформы.
Индикация новых и непрочитанных комментариев. Сейчас ведётся активная работа над системой визуальной индикации, которая будет выделять новые и непрочитанные комментарии в ленте ответов. Это значительно упростит отслеживание активности в дискуссиях и поможет пользователям не упустить важные моменты обсуждения.
🏷️ Теги
Фильтрация по тегам. Разработали ленту постов с поиском по одному или нескольким тегам. В нее можно перейти как с бокового меню(вкладка «Теги»), так и напрямую из поста кликнув по тегу. В открывшейся вкладке вы можете добавить дополнительные теги по которым будет осуществляться поиск постов.
Пока только на бэкенде, но уже сделали API отдающее список популярных тегов для быстрого выбора тегов на странице поиска по тегам.
Установили лимит в 10 тегов на пост, исключая специальные теги, такие как «Своё», «Авторское» и «Телеграм». Это предотвращает перегрузку постов избыточным количеством тегов и способствует более точной категоризации контента.
Специализированные Теги «Своё» и «Авторское». Ведётся разработка нового блока в интерфейсе создания поста для выбора этих специальных тегов, включая подсказки, которые объясняют их значение. Тег «Своё» предназначен для контента, созданного пользователем лично или имеющего к нему прямое отношение. Тег «Авторское» применяется к контенту, в который пользователь вложил своё время, старания и творческие усилия
👁️ Лента «Просмотренное»
На бэкенде реализован API для управления и вывода просмотренных постов. Это означает, что теперь у нас есть бэкенд-структура, которая способна обрабатывать и передавать данные о просмотренных пользователями постах. Однако, эта функциональность пока что не интегрирована в пользовательский интерфейс и доступна только на уровне сервера.
Также на бэкенде начата работа над механизмом скрытия просмотренных постов из ленты. Эта функция также пока не реализована, но находится в активной разработке
🔥 Лента «Тренды»
За последнее время мы также сделали ленту «Тренды», в которую попадают положительно оцененные пользователями посты.
В данный момент алгоритм выходы в Тренды следующий: рейтинг поста больше 25 и более 80% плюсов. Сортировка в ленте осуществляется на основе двух ключевых параметров: процента положительных оценок и времени публикации поста.
Хотя лента «Тренды»(как и «Новое» и «Топ») визуально кажется бесконечной, посты на самом деле подгружаются постранично (пагинация). Это означает, что контент из бэкенда на фронтенд отдаётся не одновременно, а порциями. Введено ограничение в 20 постов на страницу для лент. Это решение позволяет ускорить загрузку контента и снизить нагрузку на базу данных.
Существующий алгоритм сортировки в ленте «Тренды» не является финальным, и мы планируем продолжить экспериментировать для определения наиболее оптимальных критериев сортировки. Как минимум, следующим шагом добавим влияние наличия тегов «Своё» и «Авторское» на упрощение выхода поста в Тренды. После добавления функционала скрытия постов продолжим искать наилучший алгоритм.
🖋️ Редактор постов
Добавлено ограничение по количеству символов в заголовках постов на Капибаре. Это необходимо для более красивых URL-адресов и менее загруженного внешнего вида сайта.
Ещё теперь можно загружать видео, правда пока что только с YouTube и Coub. В ближайшем будущем возможно расширение функционала возможностью добавления видео с других платформ, например из ВКонтакта. К сожалению, прямая загрузка видео на сайт пока невозможна ввиду ограниченного бюджета проекта. т. к. стоимость хранения и обработки зависит в том числе от количества просмотров.
👤 Профиль пользователя
Наконец-то можно поставить свою аватарку! Также близится к своему завершению доработка функции «О себе» - вы сможете написать какую-то фразу в своём профиле, которая будет видна остальным пользователям… Вернее, написать вы можете уже сейчас, просто пока что информация не сохранится. Но это скоро починим
Помимо этого, была исправлена ошибка 404, которая возникала при попытке доступа к страницам профилей пользователей.
И, наконец, важное изменение в создании профиля - нами была введена проверка на уникальность имени пользователя, игнорирующая регистр букв. Это означает, что имена типа "kapibar" и "KaPiBaR" теперь считаются идентичными с точки зрения системы.
🔨 Прочие Улучшения
Вёрстка. Исправлена вёрстка для обеспечения корректного отображения сайта на экранах с шириной 800 пикселей.
Были отрисованы новая иконка сайта и аватар по-умолчанию, спрототипированы страницы для удалённых по разным причинам постов.
Внедрено ограничение на количество запросов на логин, сброс пароля и регистрацию на уровне API. Эта мера безопасности направлена на борьбу с DDoS-атаками и другими видами злоупотреблений, повышая стабильность и безопасность платформы.
Определение темы. Теперь сайт автоматически подхватывает тему, установленную на устройстве.
Проведена работа по исправлению ошибок в русском языке на различных страницах сайта. Граммар-наци ликуют.
Устранено более 150 мелких и значительных ошибок, обнаруженных отважными авторам - альфа-тестировщиками и сообщенных через систему репортов.
🪲 Баги.
Мы понимаем, что вам важно видеть, какие баги есть и какие из найденных вами багов мы уже пофиксили.
Часто мелкие баги быстрее исправить «налету», чем добавлять в таски, описывать, пересылать и уведомлять. И поэтому сейчас мы работаем над автоматизацией, чтобы каждый найденный вами баг не остался без обратной связи от команды.
Вы присылаете баг-репорты в Телеграм-бота. Они все хранятся в сервисном телеграм-канале, мы их видим.
На прошлой неделе мы прикрутили автоматическое создание задач по баг-репортам на нашей доске в таск-трекере. И прямо сейчас работаем над обратным процессом. Т. е., когда задача отмечается как выполненная, будет отправляться уведомление обратно в Телеграм с обновленным статусом.
Также есть баг-репорты, которые не являются багами. Например, когда проблема не на сайте, а в куках пользователя. В таких случаях разработчик будет писать комментарий к задаче с инструкцией, что нужно сделать, чтобы проблема прошла, а бот будет отправлять этот комментарий пользователю.
🙏 Объявляется благодарность всем нашим авторам - альфа-тестировщикам!
Мы не можем упустить возможность выразить нашу глубокую благодарность всем альфа-тестировщикам, которые помогли и помогают нам обнаружить и устранить баги на нашей платформе. Ваша обратная связь была неоценимой, и мы благодарны за каждый отправленный вами баг-репорт! Ребята, вы - лучшие :)
🌟 А также Особая благодарность десяти самым активным тестировщикам:
Мы постоянно работаем над улучшением Капибары и ценим вашу обратную связь. Записывайтесь на альфа-тест, в данный момент набираем не только авторов но и активных комментаторов.
У любого проекта должен быть сайт. Даже если единственный пользователь — моя мама. Мама — это идеальный QA: откроет с телефона, в дороге, через мобильный интернет, спросит «а почему замочек не зелёный?» и закроет, если что-то долго грузится. Значит, сайт должен открываться по твоему красивому домену, по HTTPS, без рыжих предупреждений, и желательно находиться в поиске.
В этой статье мы за вечер соберём и задеплоим простой сайт «с нуля» почти бесплатно: купим домен, поднимем машину с публичным IP, обернём всё в Docker, прикрутим автопродление SSL, добавим sitemap.xml и robots.txt, и вручную прокинем сайт в индексацию Google и Яндекса, чтобы он не лежал «в вакууме».
По шагам:
покупаем красивый домен
находим компьютер с публичным IP (или дешёвый VPS)
настраиваем и обновляем SSL (Let’s Encrypt, автообновление)
подключаем Google Search Console и Яндекс.Вебмастер, отправляем сайт в индекс
В конце — у тебя домен с «замочком», сайт открывается на телефоне у мамы, а поисковики знают, что ты существуешь.
Проблематика (что обычно ломается)
«Сайт есть, а доверия нет».Без HTTPS браузеры пугают пользователей. Let’s Encrypt спасает, но сертификаты живут 90 дней — если не автоматизировать продление, всё сломается в самый неудобный момент.
DNS и сеть — чёрная магия.Белый IP, порты 80/443, NAT, иногда IPv6 — легко потеряться. Мы пройдём «самый короткий путь» без лишней теории.
Зоопарк гайдов.Одни статьи переписывают учебник по Linux, другие — «магия одной кнопкой». В итоге или оверкилл, или непонятно, что происходит под капотом.
Поисковики не телепаты.Если не отдать sitemap.xml, корректный robots.txt и не «постучаться» в Search Console/Вебмастер, сайт может неделями валяться вне индекса.
Конфиги, которые не воспроизводятся.«Оно работало у меня локально» — не план. Нужна структура, которую можно повторить через месяц или перенести на новую машину за 10 минут.
Безопасность и обновления.Правильные заголовки, автопродление сертификатов, изоляция через Docker — всё это снижает риск «позвать маму — показать 502».
🛒 Шаг 1. Покупаем красивый домен
Первое, что нужно любому сайту, — свой адрес в интернете. Я обычно беру домены наreg.ru, потому что у них простой интерфейс и быстрая регистрация. Но по факту — можно использовать любой регистратор, хоть GoDaddy, хоть Namecheap, хоть вашего локального провайдера.
Процесс простой:
Вбиваем желаемый адрес в поисковую строку на сайте регистратора.
Смотрим доступные варианты и цены (будьте готовы, что .com и .ru могут сильно отличаться).
Выбираем понравившийся домен.
Оплачиваем.
💡Лайфхак: Отказываемся от всех «дополнительных услуг» — конструкторы сайтов, «хостинг за 1 рубль», SEO-пакеты и прочий мусор. Это почти всегда платные подписки, которые через месяц начнут жечь бюджет.
Дальше будем учить его показывать наш сайт и радовать маму зелёным замочком.
🌐 Шаг 2. Находим компьютер с публичным IP
Чтобы сайт был доступен мамев любое время суток, нам нужен компьютер, который:
работает 24/7;
имеетпостоянный(статический) IP;
готов тянуть на себе веб-сервер.
Вариант 1: Домашний сервер
Если у тебя дома стоит ПК, которыйникогдане выключается (например, твой старый системник или мини-сервер), можно попросить у интернет-провайдера выделенный статический IP. У меня такая услуга стоит ~200 ₽/месяц, у тебя может быть чуть дороже или дешевле.
Но надо заморочиться с локальной сетью, пробросом портов и динамическим DNS. Но для нашей задачи это лишняя головная боль — главное, чтобы в итоге у нас был:
компьютер с Ubuntu(или другой Linux-системой);
статический IP;
доступ по SSH.
Вариант 2: VPS (виртуальный сервер)
Я чаще всего беру VPS на serverspace — самая дешёвая конфигурация там обходится примерно в400 ₽/месяц. Это дороже, чем дома, но зато:
сервер гарантированно работает 24/7;
не шумит кулерами под столом;
можно выбрать локацию (Москва, Амстердам, Нью-Йорк — что душе угодно).
в настройках DNS IP адрес связан с доменомdebugtest.ru
Дальше — ставим Docker и готовим окружение.
🐳 Шаг 3. Ставим Docker и Docker Compose
Почему я люблю Docker? Потому что всё окружение можно описатьдекларативно: база, сервер, сервисы — всё в одном docker-compose.yml. Один файл — и твой проект можно поднять на любой машине за пару минут.
Для нашей цели нам нужен толькоDocker EngineиDocker Compose plugin. Ниже — команды для Ubuntu 24. Если у тебя другая версия или дистрибутив, просто загугли:
how to install docker-compose <название_твоей_системы>
Дальше — будем ставитьSSLи запускать всё это добро.
🔒 Шаг 5. Настраиваем и обновляем SSL (Let’s Encrypt)
Наша цель — чтобы мама открылаhttps://debugtest.ruи увидела зелёный замочек, а не красное «Небезопасно». Для этого используем бесплатные сертификаты от Let’s Encrypt и встроим их в наш Docker-стек.
1. Запускаем docker-compose
Переходим в папку с docker-compose.yml и стартуем контейнеры:
docker compose up
Покабез -d, чтобы видеть логи и убедиться, что Nginx поднялся без ошибок.
2. Проверяем валидацию (dry-run)
Открываемвторую SSH-сессиюк серверу и там выполняем тестовый запуск certbot:
Это проверит сертификат каждый день в 4 утра и перезапустит Nginx, если сертификат обновился.
🔍 Шаг 6. Подключаем Google Search Console и Яндекс.Вебмастер, отправляем сайт в индекс
Поисковики не телепаты. Даже если твой сайт уже крутится с идеальным SSL и sitemap.xml, Google и Яндекс могут заметить его черезнедели. Мы ускорим этот процесс вручную.
1. Google Search Console
Заходим в Google Search Console.
ЖмёмДобавить ресурс→Домен(лучше, чем URL-префикс — сразу охватывает все поддомены и https/http).
Подтверждаем владение доменом через DNS:Search Console покажет TXT-запись.Идём к своему регистратору (Reg.ru, Namecheap и т.д.).Добавляем эту TXT-запись в настройки домена.Ждём от пары минут до пары часов, пока DNS обновится.
Search Console покажет TXT-запись.
Идём к своему регистратору (Reg.ru, Namecheap и т.д.).
Добавляем эту TXT-запись в настройки домена.
Ждём от пары минут до пары часов, пока DNS обновится.
После подтверждения — заходим в менюИндексация → Файлы Sitemap.
💡 Лайфхак: сразу после добавления sitemap.xml можно зайти вПроверка URLи вручную «Запросить индексацию» главной страницы. Это ускорит попадание сайта в выдачу.
Подтверждаем владение доменом:Через загрузку HTML-файла в корень сайта.Или через метатег в <head> (если редактируешь index.html).Или через DNS TXT-запись (так же, как в Google).
Через загрузку HTML-файла в корень сайта.
Или через метатег в <head> (если редактируешь index.html).
ЖмёмОтправитьи проверяем, что файл принят без ошибок.
3. Как понять, что всё работает
В Google Search Console и Яндекс.Вебмастере появится график количества проиндексированных страниц.
Если на сайте что-то меняешь — обновляй дату <lastmod> в sitemap.xml, чтобы поисковики знали, что появилась свежая версия.
Не спеши паниковать: первые визиты ботов могут быть уже через пару часов, но полная индексация — через 2–7 дней.
📌 Теперь твой сайт:
Доступен по HTTPS.
Знает, как его индексировать (robots.txt + sitemap.xml).
Внесён в обе главные поисковые панели.
Готов к визиту мамыик появлению в Google/Яндексе.
💬 Если тебе зашёл этот формат и ты хочешь видеть больше таких разборов, у меня есть Telegram-канал, где я делюсь своими пет-проектами, экспериментами, идеями для стартапов и многим другим. Ссылка на канал — в моём профиле.
Всем привет. Меня зовут Максим. Являюсь веб-разработчиком и сейчас поставил цель разработать два своих небольших проекта и довести дело до продаж.
Вообще имею большое кладбище стартапов. Их конечно нельзя назвать полностью неудачными, т.к получал с них опыт, что очень важно и полезно.
Но сейчас решил изменить подход к разработке, развитию проектов. Одно из изменений - вести заметки и делиться удачным, неудачным опытом. Возможно это поможет довести проекты до конечной цели и вполне возможно опыт, которым поделюсь будет кому-то полезен.
Для разработки выбрал два проекта: система лояльности для небольшого бизнеса и seo-мониторинг сайтов. Пока без подробностей.
Точка отсчёта - 22 мая 2025 года. Релиз seo-мониторинга - 1 июля 2025 года, система лояльности - 1 августа 2025 года.
Первый раз при разработке своих проектов сделал оценку трудозатрат и будет интересно сравнить ожидание и реальность.
Также посоветовали больше писать о проектах, делиться мыслями. Будет конечно трудно, но попробуем)
Интересная история из мира инди-разработки — парень, не бросая основную работу, построил SaaS-сервис, который спустя два года принес ему крупный exit.
🧪 Началось всё с личной боли. Его жена, научный сотрудник, жаловалась, как сложно читать и пересказывать научные статьи. Он решил помочь и за пару вечеров собрал MVP — SciSummary, сервис, который автоматически сокращает и упрощает академические тексты.
💡 Проект запущен в январе 2023. Уже через 3 месяца с помощью Google Ads, SEO и пары постов у инфлюенсеров сервис начал приносить $1k в месяц. В это же время он узнал, что скоро станет отцом, поэтому не стал рисковать и продолжал работать по найму (его зарплата — $250k в год), а проект развивал в свободное время (~20 часов в неделю).
📈 Спустя год: – Проект стабильно генерирует $25k MRR – В команде 6 удалённых фрилансеров – Более 700 тысяч пользователей – ARR — около $400k
🔥 В 2024 он продал 85,5% проекта, но остался в нём ведущим инженером. Причина продажи — выгорание от постоянной нагрузки и желание больше времени проводить с ребёнком.
«После сделки чувства были смешанные — радость, тревога, оцепенение. По сути, моя жизнь не изменилась. Я всё так же просто работаю».
⚙️ Что важно вынести из этого кейса:
Сторонний проект можно построить в режиме «вечернего» фриланса, если выбрать близкую нишу и не изобретать велосипед в технологиях.
Маркетинг — решает. Без грамотного продвижения даже самый полезный pet-проект останется никому не известным.
Выгорание реально. И даже любимое дело может начать давить, если работаешь без остановки 60 часов в неделю.
🎮 Автор проекта в своём профиле скромно пишет: «Люблю кодить, играть в игры и пить пиво». А по факту — запустил сервис с ARR $400k, пока качал коляску на выходных.
🔗 Я веду Telegram-канал, где разбираю такие истории и делюсь собственными экспериментами в инди-хакинге и запуске микро-продуктов. Ссылка — в профиле.
Термин A-Player сначала звучит как что-то из спорта, но в IT под этим обычно понимают людей, которые тащат команду на новый уровень. И это не всегда «сеньор с 10 годами опыта». Иногда это может быть джун, который смотрит на работу шире, чем просто строчки кода.
A-Player отличается не количеством выданного кода, а подходом. Он думает о продукте, а не о том, чтобы накрутить ещё один сервис ради красоты архитектуры. Он делает жизнь коллег проще, поднимает планку в команде и берёт на себя задачи так, что другим не нужно держать их в голове. С ним процессы двигаются быстрее, а продукт становится лучше. 🚀
Я понял это на собственном опыте, когда начал активно запускать пет-проекты. Там ты одновременно разработчик, продукт, дизайнер, саппорт и менеджер. Ты не можешь спрятаться за «моя часть готова, дальше не моя проблема». Ты видишь весь цикл: от идеи до первых пользователей. И именно это формирует продуктовое мышление, которое отличает A-Player от «просто хорошего кодера».
В стартапах и небольших командах такие люди решают исход проекта. Один A-Player может дать ценности больше, чем пять «средних». Не потому что он пишет в пять раз больше строк, а потому что думает в пять раз шире. Он видит проблемы раньше, берёт на себя ответственность и фокусируется на том, что действительно двигает продукт вперёд.
По сути, каждый пет-проект — это маленький тренажёр 🏋️ для прокачки этих навыков. Ты учишься брать ответственность целиком, думать о ценности для пользователя и экономить время — своё и потенциальной команды. В карьере это очень заметно: такие навыки ценят куда выше, чем знание конкретного фреймворка.
Хочешь стать ближе к A-Player? Начни с простого вопроса: то, что ты делаешь сегодня, делает ли продукт лучше и жизнь коллег проще? Если да — значит, ты на правильном пути.
Я пишу о своём пути в indie-hacking и пет-проектах в телеграме. Если интересно наблюдать за процессом изнутри - ссылка в профиле ✨
Все вокруг хвалят Supabase за скорость. И да, я тоже повелся. Как бэкендера меня поначалу знатно корежило от того, что фронт ходит тупо прямиком в базу. Но ради быстрой доставки фичей я зажмурился.
Спойлер: пилится-то всё реально быстро. Только потом ты ловишь тихие баги, пропадающие логи и жесткий вендор-лок. Я собрал на Supabase уже несколько проектов и успел поседеть.
Короче, вот за что вы будете страдать на бесплатном тарифе (да и не только на нем).
Логи.Их просто нет
Точнее, они живут ровно 24 часа. Упало что-то в пятницу вечеро - в понедельник с утра ты дебажишь святым духом. Встроенный поиск это вообще кровь из глаз. Без какого-нибудь Datadog или Logflare там тупо не выжить.
Edge-функции и проклятые холодные старты Это отдельный котел. Писать надо на Deno, так что половина привычных npm-пакетов идет лесом. Лимиты на вызовы жесткие, долгую таску не запустить. Но самое бесячее — холодные старты. Пока поднимется пул коннектов к базе, проходит до трех секунд. В моем сервисе post-cooler.ru edge-функция отдает HTML для линк-страничек. Я смотрю в метрики и плачу: кликов куча, а дожидаются загрузки единицы. Конверсия просто умирает на этапе бесконечного лоадера.
Палево с доменами в OAuth Юзер логинится через Google, а в окне авторизации торчит <project-id>.supabase.co. Я когда делалphoto math, целый час дебажил эту хрень. Думал, что сам где-то накосячил — на локалке-то всё выглядело нормально! Оказалось, не баг, а фича. Хочешь свой домен? Плати.
Хаос со схемами БД Экспорт схем из дашборда выпилили еще в 2025 году. Сейчас помогаю проекту the-signal переехать на селф-хост. До этого код там писали vibe-кодеры, которые вообще не парились про миграции. Вытащить дамп схемы из облака было той еще болью. Без жесткой дисциплины база очень быстро превращается в неуправляемую помойку.
Тормоза локальной разработки Я постоянно прыгаю между проектами. И каждый гребаный раз supabase start лезет тянуть свежие Docker-образы. Поднимает 10+ контейнеров, а ты сидишь и тупишь в терминал. Весь кайф от "быстрой" разработки улетучивается.
Тихие RLS-ошибкиRLS (Row Level Security) ошибается молча. Накосячил в политиках? БД тебе не скажет. UPDATE просто вернет 0 affected rows, а SELECT подтянет половину данных.
Транзакции и боль SQL-функций Через REST API нельзя сделать нормальную транзакцию на несколько таблиц. Нужно атомарно создать юзера, профиль и настройки? Обломись. У меня пока ничего не отвалилось, но я с ужасом жду, когда в базе начнут копиться "осиротевшие" записи.Чтобы это обойти, приходится писать логику на PL/pgSQL прямо в базе. Редактор там примитивный, автокомплита толком нет и дебажить то еще удовольствие.
Вендор-лок Клиентский SDK намертво завязан на специфичный синтаксис PostgREST и их собственные токены. Если однажды решишь переехать на нормальный самописный бэк: придется рефакторить вообще весь клиентский код.
Короче. Для MVP или пет-проекта, чтобы просто проверить гипотезу на коленке - это топ. Да, часть этих костылей можно вылечить, если закинуть денег и перейти на платную версию. Но возникает резонный вопрос: за те же 25 баксов в месяц можно спокойно поднять Supabase на нормальной VPS-ке и вообще забыть про лимиты.
Кто еще сидит на Supabase или Firebase? С чем боретесь? И есть тут те, кто уже психанул и переехал на свой бэк? Дебаж 🐞с ноги 🦶
Я всё больше прихожу к мысли, что моя стратегия - это не «ставка на одного единорога», а портфель продуктов. Я постоянно запускаю новые проекты. Да, не все они находят рынок. Но зато всегда есть шанс, что один или два "выстрелят".
Почему не один? Потому что меня не драйвит идея "сидеть на одном продукте до посинения". Мне нравится запускать, проверять гипотезы на реальном спросе, а не тратить месяцы на интервью и бесконечные обсуждения проблем пользователей. Минимальный прототип -> рынок -> обратная связь. И вперёд.
У этого подхода есть очевидные плюсы. Это диверсификация: один провал не убивает всё. Это быстрые тесты: можно пробовать разные рынки и модели монетизации. Это сглаживание дохода: разные продукты дают суммарный MRR и снижают волатильность. И, конечно, это опыт: каждый запуск учит чему-то новому, и следующий делать проще.
Но есть и обратная сторона. Переключение между проектами рвёт фокус. Поддержка множества продуктов превращается в постоянный саппорт. Иногда ловлю себя на том, что не дожимаю тот проект, который стоит дожать, потому что «есть ещё три». Бренд тоже страдает: аудитории сложнее понять, о чём ты. Ну и усталость - постоянные запуски дают дофамин, но оставляют хвост незакрытых задач.
Короче, портфель продуктов - это не магия и не серебряная пуля. Это осознанный выбор между рисками и свободой. Я понимаю, что так жертвую глубиной и стабильностью, но выигрываю в скорости, энергии и опыте.
И знаете что? Пока мне нравится сам процесс. Запускать, смотреть реакцию, делать выводы и идти дальше. Это даёт мне больше мотивации, чем идея "строить идеальный продукт годами" (это уже проходили).
Кстати, я регулярно пишу о своих продуктах, экспериментах и запусках в телеграме 👉(ссылка в профиле)
Уважаемые альфа-тестеры, от команды разработки хотелось бы сказать вам всем и каждому большое спасибо! За то, что не только замечаете недочеты, но и сообщаете о них!
А теперь немного суровой статистики, сгенерированной напрямую из нашей базы данных.
Вот так мы, альфа-тестеры, выглядим на карте.
За 10 дней альфа-теста было создано 338 постов, из них 251 опубликован, 62 удалено и 25 лежат в черновиках.
77 авторов написали эти самые 251 пост, к которым 96 комментаторов оставили 1080 комментариев.
Все эти посты суммарно были просмотрены 2420 раз (уникальные просмотры)
В целом мы больше на позитиве, и поставили 3570 оценок постам, из которых подавляющее большинство - плюсы. Минусов в районе 250 оценок
Намного меньше мы оценивали комментарии, всего 955 оценок и, опять же, большинство из них плюсы
Следующие графики показывают то же самое, но с разбиением по дням
No-code выглядит соблазнительно. Не надо учиться кодить. Разработчики не нужны. Накликал интерфейс - и запускай единорога. Звучит красиво.
А на деле - быстро превращается в болото. Недавно видел пример: ребята сделали приложение для изучения испанского языка на no-code. Через месяц им пришлось переписать всё на код. Причина простая - костыли.
И это не открытие. Я ещё лет десять назад видел такие штуки. Delphi, Microsoft Access, Lotus Notes, позже Oracle APEX — там тоже можно было натыкать кнопочек, набросать интерфейс, и оно даже работало. Но стоило захотеть что-то серьёзнее - и упираешься в потолок платформы. В итоге такие проекты либо переписывают, либо бросают.
No-code повторяет ту же историю. Хочешь добавить функцию - нельзя. Делаешь костыль. Хочешь ещё - снова костыль. Через месяц костылей так много, что проект перестаёт развиваться.
Да, есть исключения. Специализированные инструменты работают классно. Тильда для лендингов. Airtable для таблиц. Retool для дашбордов. Но это не «замена программистов», а «ускоритель для специалистов».
А универсальные конструкторы «сделай любое приложение без кода» - это мираж. Ты вроде строишь продукт, а на деле собираешь небоскрёб на болоте.
Я сам часто запускаю проекты и пишу про эти попытки, удачные и не очень. Так что тема no-code для меня не теория, а наблюдения из практики.
Я тратил часы на «правильные» книги: Lean Startup, Zero to One, Founders at Work. Читал, выделял цитаты, пересказывал друзьям. И чувствовал себя молодцом. Но на деле - стоял на месте.
Ошибка была в том, что я считал чтение действием. Типа «разобрался в теории - значит сделал шаг вперёд». А на практике - ноль: ни MVP, ни пользователей, ни метрик.
🔥 Суть в том, что книги нужны не для галочки, а как триггер к действиям:
Прочитал про customer discovery? 👉 иди и поговори с людьми.
Узнал про MVP? ⚡ собери лендинг за выходные.
Прочитал про метрики? 📊 настрой хоть простую табличку, а не сохраняй цитату в Notion.
Я понял: книги - это не знание, это список подсказок к реальным шагам. Без действий чтение превращается в красивую форму прокрастинации.
Теперь у меня правило: «прочитал → сделал → проверил». ✅ И только так что-то сдвигается.
👉 Я делюсь такими инсайтами про indie-hacking, пет-проекты и запуск мини-SaaS у себя в телеге: ссылка в профиле
35 лет подряд Янн Лекун угадывает повороты в ИИ. В 80-х он говорил про распознавание изображений, в нулевых - про нейросети, в 2016 - про самообучение. И вот сейчас он заявляет самое радикальное:LLM в том виде, в каком мы их знаем, мертвы.
Проблема не в данных и не в мощности, а в архитектуре. Каждый токен чуть сдвигает модель в сторону, и чем длиннее вывод - тем выше шанс галлюцинаций. Никакие терабайты и GPU это не спасут.
А теперь подумай, сколько сейчас продуктов держится только на API OpenAI. Чат-боты, резюмирование документов, генерация текстов. Все эти проекты живут лишь потому, что можно позвать API.
Но новая волна придёт не от «больше параметров», а от моделей, которые учатся «как дети»: через видео, восприятие и понимание мира. И тогда поддерживать бизнес на API старых LLM станет бессмысленно. Новые модели будут быстрее, точнее и дешевле.
Лекун прямо говорит: закрытые модели исчезнут, открытые и распределённые — победят. Meta уже вкладывает $20 млрд в перестройку стратегии. Сроки короткие: 3-5 лет до первых моделей мира, и около десятилетия до ИИ уровня человека.
Для корпораций это вызов. А для indie-hacker’ов - шанс. У больших игроков всё завязано на старых API и инерции. А у нас есть свобода пробовать новое. Пет-проекты — это маленькие лаборатории, где можно тестировать идеи будущего и учиться жить «после LLM».
Когда рынок перетрясёт, выиграют те, кто уже умеет мыслить продуктом, а не строками API.
Я как раз пишу о своих экспериментах в инди-хакинге и пет-проектах у себя в телеге 👉 ссылка в профиле
После отпуска я понял простую вещь - двух недель достаточно, чтобы забыть вообще всё, чем ты занимался. Если у тебя нет структуры, стек превращается в хаос из случайных библиотек, фреймворков и зависимостей.
Поэтому я сел и собрал для себя техрадар - единый стек, который позволяет запускать pet-проекты и мини SaaS быстро и без боли.
⚙️ Frontend
React 🧠 Почему: куча библиотек, море документации и огромное комьюнити. Плюс масса готовых компонентов - не надо изобретать велосипед.
WXT ⚡ Почему: лучший фреймворк для браузерных расширений, если нужно быстро. Реально сокращает путь от идеи до первой установки
MUI 🎨 Почему: так как большинство моих проектов - Chrome Extensions, UI-компоненты под Material Design органично вписываются в браузер от Google.
Netlify ☁️ Почему: одна из самых удобных платформ для веб-разработки. Автоматическая сборка, тестирование и деплой в пару кликов. Работает стабильно и без боли.
🧩 Backend
Supabase 🗄 Почему: open-source альтернатива Firebase, но с Postgres под капотом — понятным, гибким и предсказуемым. Есть всё: авторизация, база, edge-функции и SQL-запросы.
Yandex Cloud 💾 Почему: недорогой S3, с "льготным" объёмом данных, за который не берут денег. Плюс умеет поднимать Docker-контейнеры в serverless-режиме. Идеально для пет-проектов.
🧱 Инфраструктура
CI/CD — Jenkins 🔁 Почему: не прожорлив, стабилен и с кучей плагинов. Работает даже на обычном VPS.
GlitchTip 🐞 Почему: не ест столько памяти, как Sentry, но совместим с его API и библиотеками. Отличный вариант для отслеживания ошибок.
Umami 📊 Почему: не блокируется ad-блоками, лёгкая и быстрая. Отличная альтернатива Google Analytics и Яндекс.Метрике.
🧰 Инструменты
JetBrains IDEA 💻 Почему: всю жизнь писал на Java и Kotlin - это мой родной IDE. Самый знакомый и надёжный инструмент.
WebStorm 🧠 Почему: по сути та же IDEA, только заточенная под JS и TypeScript.
Cursor 🚀 Почему: ускоряет разработку. Во второй версии можно подключить debug port Chromium и буквально «вайбкодить» с ИИ в реальном времени.
DBeaver 📘 Почему: купить лицензию DataGrip сложно, а DBeaver - почти то же самое. Не идеально, но достаточно для работы с БД.
GitHub 🌐 Почему: так исторически сложилось. Репозиторий, автодеплой, CI - всё в одном месте.
💬 Языки
TypeScript 🧩 Почему: я привык к типизированной Java, и JS без типов меня бесит 😅. Плюс Cursor тратит меньше токенов, потому что не нужно проверять типы, и упрощается процесс vibe debugging - сразу понятно, что за данные под капотом.
Python 🐍 Почему: стараюсь минимизировать, но иногда выручает. Особенно когда дело доходит до ML и AI - ребята из этой среды его обожают.
(А вот Kotlin, как бы я его ни любил, сюда просто не ложится.)
Сейчас думаю над системой логов и метрик — скорее всего, выберу VictoriaMetrics.
Ещё у меня есть телеграм-канал, где я рассказываю, как всё это использую вживую, и делюсь процессом разработки своих пет-продуктов 👉 t.me/debug_leg
Ты просыпаешься в своем скворечнике-люкс из перевернутого аквариума. Вонь опилок, дохлых зернышек и собственного дерьма бьет в ноздри, как утренний коктейль «Бешеный хомяк». Голова гудит — вчера, бля, опять перебрал с кукурузными палочками из кормушки.
5:00.Включается солнце. Точнее, не солнце, а лампочка в комнатеХозяина— лысого дегенерата, который вечно тычет в тебя пальцем и орет: «О, смотрите, он жрет!». Да, бля, я жру, а ты, мудила, когда последний раз видел собственные яйца без зеркала?
5:30.Разминка. Ты залезаешь вКолесо. Не просто колесо, а ебучую карусель ада. Бежишь, как долбоеб, час, два, три… а потом смотришь — бля, ты на том же месте. Это как бежать от кредитов, но твой кредитор — сам космос.
7:00.Завтрак. Хозяин насыпает тебе корм. Официально это «премиум-микс для грызунов», но по факту — дохлые семечки, которые даже тараканы зассали жрать. Ты жрешь, потому что альтернатива — лизать собственные шарики.
12:00.Экскурсия. Хозяин решает, что тебе «нужно развеяться», и тащит тебя в ебучуюпрогулочную шар-тюрьму. Ты катишься по квартире, как конченый наркоман в пластиковом зиндане, а вокруг:
Кот.Жирный уебан с глазами серийного убийцы. Он не ест тебя только потому, что Хозяин кормит его вискасом. Но ты видишь в его взгляде мечту…
Попугай.Кричащая псина в перьях. Орет на тебя: «Кто тут хороший мальчик?». Ты не хороший мальчик. Ты злой, голодный и покрыт собственной мочой.
Хомячиха в соседней клетке.Глаза пустые, как у алкашки в подъезде. Вы смотрите друг на друга и понимаете:«Мы обречены».
18:00.Хозяин напился пива и решил, что ты — «хаски в миниатюре». Надевает на тебя поводок из нитки и ведет «гулять» по столу. Ты падаешь, бьешься об пол, но тебе похуй — у хомяков переломы заживают за ночь. Потом он забывает тебя на диване, и ты три часа сидишь в ожидании, пока его девка не заорет: «О БОЖЕ, ОН ЖЕ СДОХНЕТ!».
23:00.Ночь. Ты снова в клетке. Колесо зовет. Ты бежишь.
Инди‑разработчик одновременно пишет код, рисует иконки, настраивает аналитику и считает, хватит ли выручки, чтобы дожить до следующего релиза. В голове при этом орут шесть голосов — от художника‑перфекциониста до паникёра, который шипит: «не лезь в серяк, всё сломаешь». Недавно я это сполна почувствовал, когда на финальной прямой запуска моего расширения для Chrome под Европу Google заблокировал рекламный кабинет — весь запуск был заточен под поисковый трафик, и в один момент канал просто исчез.
Кейс: Google Ads хлопнул дверью
Расширение жило за счёт идеи: забираем тёплый поисковый трафик из Google Ads, ведём на продукт, дальше монетизируем. Аудитория — Европа, так что нормальной альтернативы Google по объёму и качеству трафика, по сути, нет. На финальной части запуска, когда оставалось включить бюджеты и смотреть на конверсии, рекламный кабинет схлопнулся по политике: без внятных объяснений, с размытыми формулировками и стандартной отпиской.
В голове мгновенно нарисовались четыре сценария:
спорить с Google и пытаться выбить разбан через апелляции;
купить новый кабинет у агентства;
залезть в прокси/серяк с «арендованными» аккаунтами;
переписать продукт под другой источник трафика (например, Яндекс), хотя целевая аудитория живёт в Европе.
И вот тут во мне в полный голос заговорили все внутренние персонажи — от паникёра до художника. Чтобы не принимать решение «на ощущениях», я вытащил метод шести шляп.
Что за метод и зачем он инди
Метод шести шляп — это техника Эдварда де Боно, где мышление делится на шесть режимов: факты, эмоции, риски, выгоды, креатив и модерацию. Вместо того чтобы держать всё в голове одновременно и метаться, ты по очереди «надеваешь» шляпы и смотришь на одну и ту же ситуацию под разными углами.
Для инди‑разработчика это особенно полезно: обычно решения принимает либо внутренний паникёр (чёрная шляпа), либо вдохновлённый художник (зелёная/красная), а белая и жёлтая — факты и выгоды — просто молчат.
Классика такая:
Белая — факты и цифры.
Красная — эмоции и чуйка.
Чёрная — риски и «что пойдёт не так».
Жёлтая — выгоды и «что пойдёт так».
Зелёная — варианты и идеи.
Синяя — модератор, который собирает всё в план.
Ниже — как я разобрал свою блокировку Google Ads по этим шляпам.
Шаг 1. Белая шляпа: что есть на столе
Сначала — сухие факты без истерики.
Продукт уже сделан и заточен под Google: UX, офферы и воронка строились вокруг поискового трафика.
Аудитория живёт в Европе, доля Google по поиску там — доминирующая, Яндекс как основной источник трафика слабый и местами просто отсутствует.
Кабинет заблокирован, есть формальная возможность апелляции, но практика показывает: разбирательства могут тянуться неделями без гарантий результата.
Время и деньги, уже вложенные в продукт и рекламный сетап, — немалые, полный разворот в сторону Яндекса или другого канала = ещё месяцы работы и риск не выйти на сопоставимый объём трафика.
На этом этапе задача — увидеть реальность без «всё пропало» и «да нормально, сейчас разбанят».
Шаг 2. Красная шляпа: честно про эмоции
Здесь вообще не нужен рационал — только то, что ощущается.
Злость: «меня наказали без объяснения, хотя я не чувствую себя злодеем».
Страх: «если полезу в серяк — могу потерять вообще всё», «если уйду в Яндекс — просто похороню идею под Европу».
Усталость: «не хочу ещё месяц воевать с саппортом ради призрачного разбана».
Смысл — признать, какие решения ты принимаешь просто из страха или обиды, чтобы потом не маскировать это под «рациональный выбор».
Шаг 3. Чёрная шляпа: где можно умереть
Дальше — максимально пессимистичный взгляд на каждый сценарий.
Спорить с Google:Потратишь недели на переписку, получая те же шаблонные ответы, без разбана.За это время продукт не продвигается, выручка = 0, мотивация падает.
Потратишь недели на переписку, получая те же шаблонные ответы, без разбана.
За это время продукт не продвигается, выручка = 0, мотивация падает.
Купить новый кабинет у агентства:Риск попасть под политику обхода системы и получить ещё более жёсткую блокировку.Завязаться на стороннего посредника и их практики, которые могут завтра поломаться.
Риск попасть под политику обхода системы и получить ещё более жёсткую блокировку.
Завязаться на стороннего посредника и их практики, которые могут завтра поломаться.
Прокси и серые схемы:Бан по цепочке, блокировки платёжек, репутационные риски.Постоянная гонка с системой вместо работы над продуктом.
Бан по цепочке, блокировки платёжек, репутационные риски.
Постоянная гонка с системой вместо работы над продуктом.
Переписать продукт под Яндекс:Месяцы разработки и адаптации ради канала, который изначально слаб для твоей ЦА.Можно потратить ресурс и всё равно не выйти на нужный уровень трафика.
Месяцы разработки и адаптации ради канала, который изначально слаб для твоей ЦА.
Можно потратить ресурс и всё равно не выйти на нужный уровень трафика.
Чёрная шляпа нужна, чтобы честно увидеть, где ты можешь потерять больше, чем готов.
Шаг 4. Жёлтая шляпа: где тут шанс
Теперь тот же список, но с вопросом «что здесь может пойти хорошо?».
Спорить с Google:Если разбанят — сохраняешь белую стратегию, легальный доступ к основному источнику трафика и не влезаешь в серые схемы.
Если разбанят — сохраняешь белую стратегию, легальный доступ к основному источнику трафика и не влезаешь в серые схемы.
Купить новый кабинет у агентства:Быстрый возврат к тестам, если работать аккуратно и не нарушать политики.Можно продолжить валидировать продукт и экономику уже сейчас, не замораживая проект на неопределённый срок.
Быстрый возврат к тестам, если работать аккуратно и не нарушать политики.
Можно продолжить валидировать продукт и экономику уже сейчас, не замораживая проект на неопределённый срок.
Прокси / серяк:Потенциально быстрый старт и доступ к объёмам там, где «всё перезабанено». Но цена этого старта слишком велика для соло‑инди.
Потенциально быстрый старт и доступ к объёмам там, где «всё перезабанено». Но цена этого старта слишком велика для соло‑инди.
Переписать продукт под Яндекс:Диверсификация и снижение зависимости от одного монополиста.Возможность протестировать рынки, где конкуренция ниже или трафик дешевле, если продукт адаптируем.
Диверсификация и снижение зависимости от одного монополиста.
Возможность протестировать рынки, где конкуренция ниже или трафик дешевле, если продукт адаптируем.
Жёлтая шляпа возвращает понимание, что в каждом сценарии есть не только «помереть», но и «выиграть» — вопрос цены и горизонта.
Шаг 5. Зелёная шляпа: альтернативы, о которых не думаешь в панике
Здесь цель — не выбирать между A/B/C, а придумать C1, C2, D.
Например:
Комбо‑стратегия: отправить официальную апелляцию в Google и параллельно запустить трафик через купленный у агентства кабинет с максимально белой конфигурацией.
Временный отход от жёсткой завязки на Ads: протестировать контент‑маркетинг, партнёрки или каталоги расширений, чтобы не быть полностью зависимым от одного канала.
Адаптация продукта под несколько рекламных сетей (включая Bing Ads или локальные решения), чтобы в будущем бан одного кабинета не ставил крест на всём проекте.
Зелёная шляпа — это место, где из «всё или ничего» появляется несколько ступеней и промежуточных экспериментов.
Шаг 6. Синяя шляпа: решение и правила игры
На этом этапе я собрал всё выше в конкретный план.
Что решил:
Не уходить в полностью серые схемы, где ставка — не только кабинет, но и платежи/аккаунты.
Зафиксировать стратегию:подать нормальную апелляцию в Google (без иллюзий, но как обязательный шаг);купить новый кабинет у агентства и использовать его максимально аккуратно, без нарушений политик и «серых» связок, чтобы продолжить тесты и не замораживать проект;в параллель смотреть на альтернативные каналы, но не сносить архитектуру продукта ради гипотетического Яндекса под Европу.
подать нормальную апелляцию в Google (без иллюзий, но как обязательный шаг);
купить новый кабинет у агентства и использовать его максимально аккуратно, без нарушений политик и «серых» связок, чтобы продолжить тесты и не замораживать проект;
в параллель смотреть на альтернативные каналы, но не сносить архитектуру продукта ради гипотетического Яндекса под Европу.
Какие метрики для себя отметил:
стоимость клика и установки с нового кабинета;
конверсия в целевое действие внутри расширения;
стабильность аккаунта в течение первых недель работы.
Синяя шляпа — это момент, когда ты перестаёшь бесконечно «думать» и признаёшь: да, это не идеальное решение, но это проверяемый эксперимент с понятными правилами и горизонтом.
Как использовать это у себя
Если у тебя сейчас:
заблокировали рекламный кабинет;
умер основной источник трафика;
приходится выбирать между «серяком», паузой и сменой стратегии —вместо того, чтобы бесконечно крутить в голове одни и те же мысли, попробуй сделать так:
Чётко сформулируй вопрос (одним предложением).
Пройди по шляпам и честно выпиши по 3–5 пунктов на каждую.
В синей шляпе зафиксируй: какое решение ты принимаешь сейчас, на какой срок, какие метрики покажут, что это было не зря.
Когда начал прогонять через шляпы не только монетизацию, но и такие аварийные ситуации, стало заметно, что во мне чаще всего орёт чёрная шляпа (паникёр) и иногда красная (обида/страх), а факты и выгоды просто не доходят до стола.
Если тебе заходит формат разборов решений инди‑разработчика (с цифрами, факапами и рабочими фреймворками), залетай в мой Telegram‑канал. Там чаще, короче и местами больнее
Я сделал Telegram-бота, который по короткому фрагменту детского плача (в MVP беру 5 секунд) пытается угадать причину из 6 классов и быстро вернуть ответ. Это не диагностика: бот может ошибаться, а шум и контекст ломают предсказание сильнее, чем хочется.
Что именно предсказываем
Сейчас бот возвращает один наиболее вероятный класс:
Боль в животике
Колики
Дискомфорт
Усталость
Голод
Страх
Честная оговорка: в реальности причины могут накладываться, а некоторые классы пересекаются по смыслу (например, «колики» vs «боль в животике»), поэтому это классификация по разметке, а не “понимание ребёнка”.
Архитектура без воркера: очередь в Postgres + cron
Я не держу постоянно работающий воркер. Задачи на обработку копятся в Postgres‑очереди, а по расписанию их разгребает cron прямо в базе: достаёт пачку задач, отправляет их в Flask-инференс, сохраняет результат и помечает задачу выполненной.
Supabase Cron работает на расширении pg_cron: расписание хранится в cron.job, а история прогонов — в cron.job_run_details. Очередь — это pgmq: чтение сообщений задаёт visibility timeout (пока задача “в работе” она невидима), а после успеха сообщение нужно удалить (pgmq.delete) или архивировать (pgmq.archive), иначе оно вернётся в очередь после истечения окна.
Как я разгребаю очередь (вот что реально важно)
Суть тут не в “красивом SQL”, а в трёх правилах, без которых ты быстро утонешь:
Пачка: cron‑задача читает ограниченное число сообщений через pgmq.read(queue, vt, qty) и обрабатывает их за один запуск, чтобы не упираться в таймауты и не выстрелить себе в ногу.
Повторы: если инференс/сеть упали и вы не сделали delete/archive, сообщение снова станет видимым после vt — значит, дубликаты будут.
Идемпотентность: результат пишется по уникальному request_id (UPSERT/“записать один раз”), иначе повторная доставка начнёт плодить мусор и ломать статистику.
Если в системе есть только одна вещь “как у взрослых” — пусть это будет идемпотентность.
Где Supabase, а где модель
Supabase у меня — это Postgres и два расширения вокруг фоновых задач: очередь (pgmq) и планировщик (pg_cron). Модель живёт отдельно в Flask: сервис принимает ссылку на голосовое, скачивает её, делает препроцессинг и отдаёт вероятности по 6 классам, а я сохраняю результат в базу и отвечаю пользователю.
ML: baseline mel + CNN (почему так)
Я сделал максимально прямолинейный baseline, чтобы быстро выйти в “работает end‑to‑end”:
Аудио привожу к SAMPLE_RATE = 22050, беру фиксированное окно DURATION = 5 секунд (короткое дополняю нулями).
Строю mel‑спектрограмму (N_MELS=128), перевожу в dB через librosa.power_to_db(..., ref=np.max), и привожу временную ось к MAX_TIME=200.
Дальше CNN: три блока Conv+Pool (32/64/128) → Dense(128) + Dropout(0.5) → Softmax.
5 секунд я выбрал как компромисс между UX и стабильностью входа: проще стандартизировать форму тензора и быстрее отвечать пользователю.
Данные и ответственность
Сейчас я не храню аудио пользователей: файл нужен только на время обработки и ответа. Дальше я хочу улучшать модель, но сбор аудио для дообучения возможен только как отдельный opt‑in с понятными сроками хранения и удалением по запросу — иначе доверия не будет.
И ещё: если у ребёнка есть тревожные симптомы (температура, вялость, отказ от еды и т.п.), бот не должен быть точкой принятия решения — это надо проговаривать в тексте прямо, иначе вы выглядите безответственно.
Где это ломается (и что буду чинить первым)
Шум/эхо и агрессивная обработка микрофоном телефона меняют спектрограмму сильнее, чем кажется.
В реальности “причина” может быть не одна, но модель всегда выбирает один класс.
Пересечение классов делает ошибки неизбежными — поэтому нужен режим “не уверен” и предложение перезаписать в тишине.
Вопрос к читателям (выберите A/B/C)
Мне нужен совет по двум решениям — выберите вариант в комментариях:
Дообучение и данные:
A) Только opt‑in + пользователь выбирает “что было на самом деле” (дороже по UX, но лучшая разметка).
B) Только opt‑in + кнопки “угадал/не угадал” (хуже разметка, выше конверсия).
C) Не собирать аудио вообще, улучшать только препроцессинг и правила отказа.
Что первым даст прирост качества:
A) VAD/проверка качества входа (шум, клиппинг, доля плача) + “не уверен”.
B) Аугментации под шум/микрофоны.
C) Менять модель (CRNN/Transformer) раньше, чем чинить данные.
Если вы делали аудио‑ML в проде: где я гарантированно наступлю на грабли?
Если хотите смотреть, как это всё развивается (и где оно снова развалится), я веду Telegram‑канал про разработку/продукт и этот проект: t.me/debug_leg. Туда же кидаю мелкие апдейты
Мы живём во время, когда писать код стало… странно. Раньше ценился тот, кто держал в голове синтаксис и помнил все аргументы функции из какой-нибудь задрипанной библиотеки. Сегодня половину этого за тебя делает ИИ.
Cursor, Copilot, ChatGPT — они реально стали частью рабочего процесса. Ты ставишь задачу — и получаешь код. Ошибся? Написал криво промпт — поправил. Скорость ×10.
🚀Что меняется прямо сейчас:
Код рукамибольше не главное. Ценность — в понимании архитектуры и умении объяснить задачу ИИ так, чтобы он сделал то, что нужно.
Знание фреймворковуже не даёт того преимущества, что раньше. ИИ подскажет любой синтаксис быстрее, чем ты вспомнишь.
Конкуренция растёт: студент за неделю может собрать MVP, на которое у опытной команды ушло бы пару месяцев.
⚡Что это значит для нас, разработчиков:
Держаться за «писать код» как за главный скилл — плохая стратегия.
Реальная ценность теперь в том, чтобы делатьпродукт, а не только строки кода.
На первый план выходит мышление инженера-продуктолога: собрать всё из Lego (фреймворки, API, AI-инструменты) и превратить в работающий сервис.
💡 Для indie-hacker’ов это вообще подарок.
Не надо тратить месяцы на инфраструктуру — можно собрать MVP за вечер.
Легко проверять гипотезы, запускать пет-проекты и смотреть, что взлетит.
В итоге выигрывает не тот, кто дольше сидит в IDE, а тот, ктобыстрее тестирует и запускает.
И да — это моё оправдание, почему я оплатил Cursor. Я не трачу время на «ручной» код, я покупаю себе скорость и шанс быстрее довести идею до продакшена.
👉 Я пишу про indie-hacking, пет-проекты и эксперименты с такими инструментами у себя в телеге (ссылка в профиле)
P.S.Всё это в первую очередь работает дляклиентской части приложений. С бекендом у GPT пока сложнее, там много нюансов — но об этом расскажу в следующий раз.
Аналитика — один из ключевых инструментов в управлении современными цифровыми продуктами. Без данных о поведении пользователей невозможно понять, кто и как взаимодействует с вашим сайтом, приложением или сервисом, какие страницы работают эффективно, где пользователи теряются и почему падают конверсии. Аналитика помогает отслеживать рост, вовремя замечать проблемы, принимать решения на основе фактов и улучшать продукт так, чтобы он действительно работал лучше.
Однако всё чаще компании сталкиваются с тем, что популярные трекеры вроде Google Analytics или Яндекс.Метрики блокируются браузерами, adblock-расширениями или просто вызывают недоверие у пользователей. В условиях растущего запроса на приватность, прозрачность и независимость данных становится очевидной потребность в более простых, честных и контролируемых решениях.
Одно из таких решений — Umami Analytics.
Umami — это лёгкая, современная система веб-аналитики с открытым исходным кодом. Она не отправляет данные третьим лицам, не использует сторонние куки, работает быстро и предоставляет аккуратный минималистичный интерфейс. Среди ключевых возможностей: реал-тайм аналитика, отсутствие трекинга, который легко блокируется, и понятные метрики без перегруза.
Но здесь есть нюанс: официальный облачный сервис Umami стоит $20 в месяц. Для небольшого проекта, сайта или небольшого бизнеса это ощутимая сумма, особенно если нужна простая и приватная аналитика без обилия корпоративных функций.
И здесь появляется главный инсайт.
Все эти преимущества — real-time аналитика, приватность, удобный интерфейс, отсутствие блокировок — можно получить всего за 150 рублей в месяц, если развернуть Umami в режиме self-host. Более того, в этом случае вы получаете не только экономию, но и полный контроль над данными и инфраструктурой, что особенно важно в 2025 году.
В этом посте я покажу, как установить Umami на свой сервер, настроить её за несколько минут и получить функциональность уровня платных SaaS-решений — за минимальные деньги и без компромиссов по приватности.
У Cloud.ru есть отличная возможность получить слабенькую, но очень выносливую виртуальную машину в бессрочное бесплатное пользование. Платить нужно только за публичный IP-адрес — а это как раз около 150 рублей в месяц.
Вариант Free Tier нельзя настраивать по ресурсам, но можно выбрать способ аутентификации.
Рекомендую метод SSH-ключ — он безопаснее и удобнее, чем пароль.
1.5 Запускаем виртуалку
Нажимаем кнопку Создать и ждём, пока виртуальная машина перейдёт в статус «Running».
ВАЖНО После создания обязательно подключите публичный IP-адрес, иначе вы не сможете зайти на сервер по SSH или открыть веб-интерфейс Umami.
Шаг 2. Настройка удалённого сервера
Я использовал виртуалку на Ubuntu 24.04, поэтому команды ниже рассчитаны именно на неё. Umami и PostgreSQL мы будем запускать в Docker через Docker Compose.
Если вы используете другую ОС — часть команд может отличаться. В этом случае можно либо адаптировать шаги вручную, либо попросить любую LLM помочь под вашу систему.
2.1 Обновляем систему
sudo apt update
sudo apt upgrade -y
2.2 Удаляем старые версии Docker (на всякий случай)
Если вывод показывает версию Docker и затем приветственное сообщение "Hello from Docker!" — значит, всё установлено успешно и сервер готов к разворачиванию Umami.
Шаг 3. Запускаем Umami
Теперь, когда Docker установлен, можно развернуть Umami и PostgreSQL с помощью Docker Compose. Конфигурация максимально простая — всё поднимается в два контейнера.
if (window.umami && typeof window.umami.track === "function") {
window.umami.track("click_buy_button"); // имя события
console.log("Umami event sent");
} else {
console.warn("Umami object not ready yet", window.umami);
}
});
</script>
</body>
</html>
Сохраните файл и просто откройте его в браузере — локально, без загрузки на сервер.
4.6 Проверяем посещения
Теперь перезагрузите страницу — в интерфейсе Umami во вкладке Realtime появится ваш визит.
4.7 Проверяем события
Нажмите кнопку Купить.
События будут отображаться во вкладке Events для вашего сайта:
там появится событие click_buy_button.
Заключение
Развернуть собственную систему аналитики — проще, чем кажется. Всего за 150 рублей в месяц вы получаете функциональность уровня платных сервисов, полный контроль над данными, приватность, real-time метрики и защиту от блокировок. Umami отлично подходит для небольших проектов, pet-приложений, лендингов и любых сервисов, где нужна честная статистика без лишних зависимостей.
Если вы раньше не поднимали аналитику самостоятельно — этот гайд показывает, что всё решается за 10–15 минут. Дальше вы сможете добавлять события, подключать несколько сайтов, настраивать аналитику под свои задачи и развивать инфраструктуру так, как вам удобно.
Комментарии