惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Security Archives - TechRepublic
Security Archives - TechRepublic
罗磊的独立博客
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
Apple Machine Learning Research
Apple Machine Learning Research
The Register - Security
The Register - Security
J
Java Code Geeks
V2EX - 技术
V2EX - 技术
Vercel News
Vercel News
N
News and Events Feed by Topic
腾讯CDC
P
Proofpoint News Feed
N
News | PayPal Newsroom
www.infosecurity-magazine.com
www.infosecurity-magazine.com
爱范儿
爱范儿
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
D
Docker
Y
Y Combinator Blog
博客园 - 聂微东
G
Google Developers Blog
S
Security @ Cisco Blogs
Simon Willison's Weblog
Simon Willison's Weblog
S
Schneier on Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
SegmentFault 最新的问题
云风的 BLOG
云风的 BLOG
阮一峰的网络日志
阮一峰的网络日志
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
CERT Recently Published Vulnerability Notes
I
Intezer
G
GRAHAM CLULEY
有赞技术团队
有赞技术团队
Attack and Defense Labs
Attack and Defense Labs
V
Visual Studio Blog
博客园 - Franky
博客园 - 三生石上(FineUI控件)
W
WeLiveSecurity
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
Scott Helme
Scott Helme
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
LINUX DO - 最新话题
C
Cybersecurity and Infrastructure Security Agency CISA

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Когда пет-проект перестаёт быть пет-проектом
Даниил Миронов · 2026-06-20 · via Все публикации подряд на Хабре

Когда пет-проект перестаёт быть пет-проектом

Простой

11 мин

0

Пет-проект ни к чему не обязывает. Никто не ждёт аптайма, можно неделю не заходить. Сломалось, починишь на выходных. Всё меняется, когда за продукт начинаешь отвечать: чужие люди платят деньги, присылают свои фотографии и рассчитывают, что всё сработает. Игрушка становится обязательством.

Дальше про этот переход. Как вечерний бот в Telegram оброс вторым ботом, потом сайтом, общим кошельком, биллингом и мониторингом, и в какой момент я из человека, который балуется на выходных, превратился в того, кто отвечает за работающий сервис.

Я не фуллстек-разработчик: пять лет я строю системы машинного обучения и языковые модели в финансах. Добрую половину того, что ниже (фронт, боты, продукт, маркетинг), до этого проекта я не трогал. И главный сюрприз оказался не в коде.

Архитектура: четыре точки входа поверх единого бэкенда

Архитектура: четыре точки входа поверх единого бэкенда

Откуда я пришел

По работе я ML‑инженер: последние пять лет строю системы обработки данных и языковые модели в финансах: банки, потребительское кредитование. Я привык владеть продуктом целиком, от оценки идеи и архитектуры до деплоя, мониторинга и дежурств на проде. Звучит как ровно то, что нужно для своего сервиса, но с оговоркой: целиком в моей части. Данные, модели, бэкенд, инфраструктура, мониторинг. Рядом всегда были другие: фронтендеры, аналитики, разметчики, MLOps. В одном из проектов я как раз вырастил соло‑задачу до команды из восьми человек, так чтоотлично знаю, как выглядит «нанять команду».

В своем проекте команды не было, и быстро выяснилось, чего я не умею. Фронтенд, верстка, боты, мобильные приложения, это раз, но это хотя бы инженерия, её видно. Куда хуже было то, чего я не умел и не считал важным: продукт и деньги. За это я потом и заплатил, в прямом смысле.

Одна деталь сыграет потом: по специализации я занимаюсь как раз языковыми моделями и агентными системами. Те самые AI‑инструменты, на которых всё это собрано, и есть мой рабочий предмет. Я подходил к ним без магии, понимая, как они устроены и где врут.

Как оно росло и почему вообще в одиночку

Без инструментов этой истории бы не было, поэтому про них отдельно.

Начинал по старинке, писал всё руками. Документация, Stack Overflow, чужие сниппеты, отладка по строчке. В своем ML я так и привык работать, но половина проекта была чужой территорией (фронт, боты), и каждая незнакомая мелочь съедала вечер. Потом подключил Cursor, стало заметно быстрее. Но у Cursor оплата по расходу, и стоит начать кодить целыми днями, как лимиты выгорают к обеду, а доплаты сверху капают непредсказуемо. Вместо того чтобы писать код, начинаешь следить за счетчиком. Сейчас всё идет через Claude Code на тарифе за сто долларов в месяц, фиксированных. По поштучной цене за токены тот объём, что я через него прогоняю, стоил бы в разы больше. У активных пользователей API-счёт за столько же переваливает за тысячи долларов в месяц. Это и сместило всю экономику: за один предсказуемый тариф я получаю то, на что раньше пришлось бы нанимать подрядчиков.

Сам сетап тянет на отдельный пост. Claude Code живет прямо на боевом VPS, там же, где крутится прод. А прод это больше десятка контейнеров на одной машине: фронт, API, фоновый воркер, очередь, хранилище, nginx и оба бота. Агент видит их все вживую: какие подняты, что в логах, что отвалилось после деплоя; может пересобрать контейнер и проверить, что поднялось. Рядом, на втором сервере, живет аналитика. Сервер связан с продом приватной сетью, и агент заходит туда по отдельному SSH.

В работе это выглядит так: я формулирую задачу словами, агент правит код, выкатывает, читает логи, при необходимости сам уходит на сервер с метриками. Редактор я почти не открываю. Ближе к роли архитектора и ревьюера, чем наборщика: я решаю, что и зачем делать, и проверяю результат.

И нет, это не «AI всё написал за меня». Агент закрывает руки: скорость, объём, незнакомые мне технологии. А что строить, как устроить систему, где она обязана быть надёжной, а где можно срезать угол, по-прежнему решаю я, и ошибки в этих решениях тоже мои.

Важнее другое: за время проекта поменялся сам способ работы. Когда я начинал, одиночка упирался в простую стену: нельзя в одного спроектировать, написать фронт и бэк, собрать ботов, поднять инфраструктуру и не утонуть. Команду нанимали потому, что не хватало рук. Теперь рук хватает, их заменил агент. Узким местом стал не объём кода, а ясность того, что я делаю. Вот почему проект и вытянул один человек: инструмент убрал ту самую причину, по которой раньше собирали команду.

А расширялся проект вынужденно, без всякого плана. Первым был бот в Telegram: низкий порог входа, аудитория уже на месте, запустить можно за вечер. Потом Telegram в России начали блокировать, и держать на нём единственную точку входа стало рискованно: я пошел в VK. Но в VK та же механика работала заметно хуже: трафик шёл, а в оплату почти не превращался. Стало понятно, что нужна своя площадка, которую никто не отключит и где правила устанавливаю я. Так появился сайт.

Точек входа стало три, и выросли они без всякой стратегии, по принципу «прижало, придумал». Пользователь теперь приходит с любой из них или начинает в боте, а платит уже на сайте. За тремя разными лицами оказался один и тот же человек, и систему пришлось учить видеть его как одного.

Людям не нужны нейросети

Первая версия была честным зеркалом того, как думает инженер. Я собрал агрегатор: подключил десяток нейросетей и дал пользователю все сразу: выбирай модель, настраивай параметры, пиши промпт. Мне это казалось очевидной ценностью: смотрите, сколько мощи под капотом, крутите как хотите.

Люди не крутили. Они заходили, упирались в экран с выбором моделей и настроек, и закрывали вкладку. Тот, кто все-таки доходил до результата, часто получал не то, что ждал (промпт это навык), расстраивался и не возвращался. Я гордился гибкостью, а гибкость отпугивала.

Дошло до меня не сразу. Обычному человеку не нужна нейросеть. Ему вообще неинтересно, что это нейросеть, какая модель и какие у нее параметры. Он пришел за результатом: посмеяться, удивить друзей, увидеть себя там, где в жизни не окажется. Смешной пранк. Свое фото рядом с дорогой машиной. Селфи со знаменитостью. Выбор из десяти настроек для него не свобода, а препятствие: лишний повод почувствовать себя дураком и закрыть вкладку.

Это та вещь, которую инженеру принять тяжело. Мы привыкли, что больше опций лучше, а прятать возможности значит оглуплять продукт. Здесь всё ровно наоборот: каждая настройка, которую я убирал, поднимала шанс, что человек дойдет до результата.

Был и трезвый расчет. Сама по себе генерация давно доступна бесплатно: Шедеврум у Яндекса, Kandinsky у Сбера, заходи и рисуй сколько хочешь. Конкурировать с бесплатным, предлагая ровно то же самое за деньги, бессмысленно. Но эти сервисы дают инструмент: пустое поле, промпт, выбор, ту самую мощь, от которой мой обычный пользователь и сбегал. За упакованный результат (готовый сценарий в один клик, без настроек) он платит, потому что бесплатные генераторы его как раз не дают.

Так появился каталог трендов. Снаружи всё предельно просто: человек видит готовые сценарии, выбирает понравившийся, кидает свое фото и через минуту получает картинку или видео. Внутри каждого тренда зашито ровно то, что я раньше вываливал наружу: конкретная модель, выверенный промпт, параметры, иногда цепочка из нескольких шагов. Пользователь этого не видит, и не должен.

Курирование трендов оказалось отдельной постоянной работой, к которой инженер не привык. Тренды выгорают: то, что собирало людей неделю назад, сегодня уже никто не ищет. Надо смотреть, что залетает в коротких видео, что повторяют, на что реагируют, и быстро заводить новый сценарий, пока волна не спала. Продукт перестал быть «написать код один раз» и стал «держать руку на пульсе того, что людям сейчас смешно или интересно».

Технически разворот сместил центр тяжести. Раньше код крутился вокруг «дать доступ к моделям». Теперь вокруг «вести каталог сценариев»: тренд это запись с обложкой, промптом, моделью и ценой, а завести новый это строка в базе и картинка в хранилище, не релиз. Самая ценная работа в продукте перестала быть кодом вообще.

Что под капотом

Архитектурно проект это четыре точки входа поверх одного бэкенда. Сайт на Next.js, бот в Telegram, бот во ВКонтакте и мини-апп внутри Telegram: все они тонкие клиенты к общему API на FastAPI. Логики «считать деньги» или «дергать модель» в самих ботах нет; они только показывают интерфейс и ходят в бэкенд.

Генерация устроена асинхронно, иначе никак: модель может думать и десять секунд, и минуту. Запрос с любой поверхности попадает в очередь (Arq поверх Redis), ее разбирает воркер, дергает нужную модель (через Replicate), складывает результат в объектное хранилище и возвращает пользователю туда, откуда он пришел. Данные живут в PostgreSQL, файлы в S3-совместимом хранилище, все это в докере за nginx.

Поток генерации: от загруженного фото до готового результата за минуту

Поток генерации: от загруженного фото до готового результата за минуту

Деньги это отдельный слой, и именно он отделяет продукт от игрушки. Пока проект игрушка, баланс ненастоящий: накрутил себе, протестировал. Когда платит чужой человек, правила меняются: нельзя потерять платёж, списать дважды или сжечь деньги на неудавшейся генерации. Поэтому баланс устроен консервативно. Источник правды один, обращения к нему идемпотентны: повторный запрос при обрыве сети не спишет дважды. Операцию нельзя считать выполненной, пока она не подтверждена. А если денег не хватает, бэкенд просто отвечает отказом.

Один нюанс всплыл как раз из-за того, что поверхностей несколько: тот же человек приходит и из Telegram, и из VK, и с сайта. Логично, что баланс у него должен быть общий, иначе пополнивший в боте, а зашедший на сайт решит, что его обманули. Поэтому кошелёк общий на все четыре поверхности, а не свой в каждом канале.

И ещё одна история, чисто из реальности: оплата внутри Telegram. Там есть мини-апп, и логично принимать оплату прямо в нём. Нельзя: Telegram запрещает продавать цифровые услуги внутри webview. Обойти невозможно, можно только увести человека в обычный браузер, не потеряв, кто он. Я делаю это через одноразовый токен, который кладётся в адрес после решётки и потому не уходит на сервер; внешний браузер подхватывает по нему сессию и продолжает с того же места.

Снаружи ничего из этого не видно, человек просто платит и получает результат. Но за этой невидимой частью ты отвечаешь деньгами чужих людей.

Самая дорогая ошибка была не в коде

Теперь честно про роль AI. Без этого статья была бы рекламой вайбкодинга, а это враньё.

С техническими косяками всё скучно. Где-то iOS капризничал с версткой, где-то прод отдавал ошибку после деплоя. Клод чинил такое быстро, я подсказывал направление, и оно закрывалось. Делать вид, что я героически воевал с багами, не буду: код, в котором я был слаб, AI реально вытащил. Фронт, боты, мини-апп, докер, деплой: то, на что у меня ушли бы месяцы, делалось за вечера. Это его сильная сторона, и тут он меня ни разу всерьёз не подвёл.

По-настоящему я поплатился в другом месте, и довольно дорого. Я запустил платную рекламу и почти не смотрел в фин-модель. Просто лил трафик и радовался, что приходят люди. А люди приходили, тратили бесплатные стартовые токены и уходили, не окупая ни рубля из того, что я заплатил за их привод. Какое-то время я из своего кармана оплачивал случайным людям знакомство с сервисом, и не видел этого, потому что не считал.

И ведь я сеньор из финтеха, уж мне-то полагалось сначала посчитать. Но мой финтех это про модели и инфраструктуру; экономика привлечения в него никогда не входила, и в этой слепой зоне я наступил на грабли как полный новичок. Здесь не помог ни опыт, ни AI. Это вообще не инженерная задача. Это та часть бизнеса, которую я всю жизнь считал чужой работой.

Когда дошло, я сделал то, что должен был с самого начала: нормальную юнит-экономику. Сколько мне стоит генерация в реальных деньгах, сколько я за нее беру, где граница, за которой пользователь окупается, а где я просто спонсирую незнакомцев. И поднял на это трекинг, чтобы видеть, а не угадывать. В одиночку, как выяснилось, «видеть, что происходит» это отдельная работа.

Как один человек видит, что происходит

Технику я мониторю стандартно, через Prometheus и Grafana: жив ли прод, как себя чувствуют очереди и генерации. Это мой рабочий инструментарий, тут ничего нового. Продуктовую и денежную часть свёл в Metabase. Главная морока в том, что данные размазаны по трём базам: сайт и два бота исторически жили отдельно, и чтобы видеть картину целиком, их приходится сшивать. Один и тот же человек в Telegram, VK и на сайте — это один человек, и считать его надо один раз.

Поверх дашбордов появилось то, чего не хватало больше всего: чтобы бизнес сам приходил с отчетом. Каждое утро по расписанию запускается сценарий, который собирает реальные цифры за вчера и за последние недели и присылает мне в Telegram короткий человеческий разбор по проекту: что выросло, что просело, на что смотреть. Я нанял аналитика за стоимость подписки, который не берёт выходных.

Каждое утро бизнес-обзор приходит в Telegram

Каждое утро бизнес-обзор приходит в Telegram

А недавно это вышло на следующий уровень. Тот же AI-агент, что пишет мне код, имеет доступ ко всем цифрам и контексту проекта. Поэтому теперь я не строю каждый разрез руками. Я спрашиваю человеческим языком: «почему вчера просела оплата», «какие тренды держат людей, а какие приводят и отпускают», и получаю ответ с цифрами быстрее и глубже, чем собрал бы сам. Аналитика из «построить дашборд» превратилась в «задать вопрос», и этим я занимаюсь на работе каждый день, только теперь для себя.

Маркетинг, о котором инженеры не думают

Здесь придётся сказать неприятное для инженерной аудитории. Самым важным навыком оказался не код.

Я верил в инженерную сказку: сделай достаточно хороший продукт, и люди придут. Сделал. Продукт работал, генерации шли, всё было аккуратно, а людей не было. Не «мало», а почти никого. Оказалось, «построить» и «сделать так, чтобы пришли» — это две разные задачи, и вторую я не решал вообще, потому что не считал её задачей.

Заодно развалилась красивая идея про «голубой океан», уникальную нишу, которую никто не занял. Я думал, оригинальная идея сама по себе защищает. Не защищает. Генераторов фото в мире тысячи, ниша забита под завязку, и в ней при этом спокойно зарабатывают, потому что дело не в уникальности. Можно открыть одиннадцатую кофейню на улице с десятью кофейнями и жить, если у тебя проходное место, понятное предложение и поток людей. С приложением то же самое: выигрывает не самый оригинальный, а тот, кто яснее объясняет, что он даёт, и умеет приводить людей. Для меня, человека от технологии, это звучало почти оскорбительно, и оказалось правдой.

Дальше я сделал ровно то, что делает любой инженер, дорвавшийся до маркетинга: полез в его техническую часть. SEO, разметка, скорость загрузки, корректная индексация: всё, что похоже на инженерию, измеримо и понятно. Работа нужная, но трафик она приносит не завтра, а в лучшем случае через полгода. А люди приходят совсем с другого, с того, что инженеру делать неловко.

Что реально работает у меня: контент. Я генерирую короткие ролики на своём же сайте, монтирую и выкладываю под виральные тренды. Я понял это не сразу. Ролик не реклама продукта, а сам продукт в действии. Человек видит готовый результат на чужом фото, хочет так же, и идет делать. Реклама и демонстрация совпали в одном коротком видео. Объем решает: чем больше роликов, тем выше шанс попасть в волну; что именно выстрелит, предсказать нельзя, можно только выкладывать много и быстро подхватывать то, что уже залетело.

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

Если свести в одно. Инженеру кажется, что главное построить, а маркетинг прикрутишь потом. Все наоборот: построить сегодня это посильная часть, а привести людей и удержать это отдельная работа, которой я не владел и которая далась тяжелее всего кода. Продукт без нее просто не существует, сколько его ни полируй.

Что значит «стало бизнесом»

Вернусь к началу, к моменту, когда пет-проект перестает быть пет-проектом. Теперь я описал бы его через то, за что ты начинаешь отвечать.

Игрушка становится продуктом, когда чужой человек платит и ждет результат, а ты не можешь его потерять. Продукт становится бизнесом, когда ты перестаешь думать только про код и начинаешь думать про концепцию, цену, привлечение и удержание. У меня это пришло поздно, мне было комфортнее в коде. То, что в найме за меня закрывали продакт, маркетолог и финансист, пришлось осваивать самому: проджект-менеджмент, план, простую финансовую модель, без которой не понимаешь, зарабатываешь ты или нет.

И все же один человек сегодня может то, на что вчера нужна была команда. Но дело не в том, что «разработчики больше не нужны».

AI никого не заменил. Он ускоритель. Он умножает скорость работы в десятки раз: то, на что у меня ушли бы месяцы, выходит за вечера. Но умножает он именно скорость, а не понимание. Если знаешь, куда идешь, он несет тебя туда в разы быстрее. Если не знаешь, так же быстро привозит не туда: быстро пишет ненужный код, быстро строит продукт, который никому не нужен, быстро жжет деньги на рекламе, которую ты не посчитал. Я на себе прошел оба варианта.

Так ценность и сместилась, с «умею писать код» на «понимаю, что и зачем строю». AI закрыл мне то, в чем я был слаб (код вне моей специализации), и это сняло с одиночки половину работы, инженерную. Вторая половина (понять, что нужно людям, и привести их) никуда не делась, и ее AI за тебя не сделает.

Поэтому честный вывод такой. Код это меньшая часть бизнеса, чем кажется из кресла разработчика. Сделать продукт силами одного теперь реально. Сделать так, чтобы им пользовались и платили, по-прежнему отдельная и более тяжелая работа. Я все еще один, и это значит, что я же и узкое место: ушел в разработку, стоит маркетинг; занялся маркетингом, не пишется код.

Если ты инженер и думаешь «сделаю продукт, а маркетинг потом», переверни порядок. Продукт ты теперь и так сделаешь. Все остальное и есть бизнес.