Сделал приложение с ИИ за $40 в месяц. Самым сложным оказался не код

От Notion к идее собственного приложения

История началась в марте 2026 года, когда я впервые узнал, что такое вайбкодинг, и решил попробовать сделать что-нибудь своё. Я регулярно ходил в зал и уже около трёх месяцев записывал тренировки в Notion. Это работало, но было ужасно неудобно: во время тренировки хотелось быстро записать вес и повторы, а не открывать таблицу и искать нужную строку.

Зато у такого подхода был один неожиданный плюс. Я мог выгрузить данные или просто отправить ChatGPT скриншот и спросить:

посмотри мой прогресс за последние тренировки, что улучшается, что стоит на месте и что можно поменять в программе?

Мне это нравилось гораздо больше, чем встроенные «AI coach» в фитнес-приложениях. Так появилась простая мысль: а что если сделать нормальный трекер тренировок для себя, но сохранить возможность отдавать свои данные внешнему ИИ?

Тогда я был уверен, что самое сложное во всей этой истории — написать само приложение.

Первая версия: магия Lovable и куча костылей

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

Я тогда не понимал, как надо работать с такими инструментами, поэтому мог в одном промпте написать сразу 10–15 изменений. Lovable что-то делал, что-то ломал, я быстро упирался в бесплатный лимит и ждал следующего сброса.

Первая версия приложения в Lovable

Первая версия приложения в Lovable

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

Оставаться внутри Lovable я не хотел: маленькие лимиты, база данных, архитектура и возможность нормально редактировать код через другие ИИ-инструменты были слишком сильно завязаны на сам сервис.

Переезд в Cursor

Я перенёс проект на GitHub и начал работать в Cursor с расширением GPT. Разработка стала ощущаться совсем иначе: появилась нормальная кодовая база, можно было видеть diff, откатывать изменения и работать сразу с несколькими файлами.

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

Claude Design и первая версия, которой не стыдно пользоваться

После нескольких обзоров на YouTube я купил подписку Claude за $20. GPT за $20 у меня тоже оставался. Больше всего меня интересовал дизайн.

Приложение после редизайна с Claude

Приложение после редизайна с Claude

Claude Design оказался неожиданно полезным. Странная особенность: обычный Claude Code предлагал посредственный интерфейс, а Claude Design выдавал результат заметно лучше. Правда, платить приходилось лимитами — несколько промптов могли съесть весь пятичасовой лимит, гораздо больше чем обычный Claude Code. Но приложение впервые стало выглядеть примерно так, как я хотел.

Потом я просто забросил разработку

На несколько месяцев активная разработка остановилась. Я продолжал пользоваться приложением сам, но параллельно занимался другим проектом, и превращать трекер в публичный продукт особого желания не было.

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

Решение всё-таки выйти в Google Play

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

Казалось, осталось немного: поправить дизайн, добавить пару функций, сделать лендинг и отправить в Google Play. Разумеется, всё оказалось дольше.

Неделю я снова потратил почти только на интерфейс. За три месяца модели стали намного лучше, и через Claude Design получилось значительно улучшить дизайн.

Приложение после очередного редизайна

Приложение после очередного редизайна

Ещё примерно неделя ушла на офлайн-режим. В зале связь бывает плохой, а терять подходы посреди тренировки нельзя. Теперь приложение полностью работает без интернета и синхронизирует данные, когда связь возвращается

Закрытое тестирование

Чтобы выйти в production, Google требует пройти 14-дневное закрытое тестирование с 14 тестерами. Столько знакомых с Android, готовых две недели открывать приложение, у меня не было, поэтому я воспользовался платным сервисом. Стоило это 14$, тестеры каждый день открывали приложение, и как было обещано, через 14 дней Google одобрил тестирование.

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

MCP: функция, которая казалась самой сложной

Примерно тогда же я решил сделать то, ради чего всё и начиналось.

MCP (Model Context Protocol) — это протокол, через который ChatGPT или Claude могут вызывать инструменты приложения и работать с его данными. Я хотел не встраивать ещё один чат внутрь приложения, а наоборот — подключать Setlane к ChatGPT или Claude, чтобы можно было написать:

Посмотри мои тренировки за последние 4 недели и скажи, в каких упражнениях есть прогресс, а в каких нет.

и модель сама запросила бы нужные тренировки, подходы, веса и повторы.

Сами данные никуда не уходят: пользователь подключает Setlane к ИИ сам, и модель запрашивает только то, что нужно для конкретного вопроса.

Я был уверен, что на это уйдёт много времени. Получилось наоборот. Я подробно обсудил с GPT-5.6 Sol, какие данные отдавать, какие нужны инструменты и как должна работать авторизация. Модель составила план и начала писать код. Примерно через 30 минут у меня был работающий MCP. Не идеальный, мелкие баги потом пришлось исправлять, но основная система заработала почти с первой попытки.

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

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

Когда ИИ начал сам искать баги

Тогда же я поменял подход к исправлению багов.

Раньше всё выглядело так: вижу баг, описываю модели, она предполагает причину, меняет код, я собираю, проверяю — баг остался, повторяем.

Теперь я подключаю Claude или Codex прямо к телефону или Android-эмулятору. Я описываю проблему, а агент сам её воспроизводит, смотрит логи, находит вероятную причину, исправляет и снова проверяет. Если баг не исчез, он проходит тот же круг с новыми логами и следующей гипотезой.

Итераций стало заметно меньше, а гадать вместе с моделью, что именно сломалось, почти перестал.

Релиз

В конце августа Setlane прошёл проверку Google и вышел в Google Play.

Приложение на момент выхода в Play Market

Приложение на момент выхода в Play Market
Setlane на текущий момент

Setlane на текущий момент

Сколько всё это стоило

Большую часть времени у меня была только подписка ChatGPT за $20 в месяц. Позже я добавил Claude за $20 — в основном ради дизайна — и отменил его, когда закончил с интерфейсом.

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

Что оказалось сложнее разработки

Сейчас пользователей у Setlane немного — 36 установок. Платную рекламу я не запускал и пробую бесплатные способы: Reddit, SEO.

В начале мне казалось, что самая сложная часть — сделать настоящее приложение. С современными моделями эта часть становится всё проще. А вот после публикации начинается другая задача: как сделать так, чтобы о твоём приложении вообще кто-то узнал. И пока что продвижение кажется мне гораздо сложнее разработки.

Если интересно посмотреть, что получилось, — приложение называется Setlane, пока только для Android. Буду рад обратной связи — особенно от тех, кто сам записывает тренировки и знает, как неудобно делать это в заметках.

Автор: argon777

Источник

Оставить комментарий