Сервис за 45 дней в одиночку: 158 000 строк и лог каждой ошибки
Два месяца назад я не умел писать код и даже не знал, что такое Claude Code. Сегодня у меня свой сервис: 158 тысяч строк, пользователи и первые оплаты. Технический аудит говорит, что команде программистов на это понадобилось бы восемь месяцев. Я справился за 45 дней и вёл лог каждого решения — включ
Содержание12 глав
- 01Что получилось за 45 дней
- 02Меня выгнали из кружка программирования
- 03Брать то, за что ты уже платишь
- 04Три ошибки, стоившие по рабочему дню
- 05Стек, к которому я пришёл через потерянные дни
- 06Приложение — это оболочка для промптов
- 07Тридцать выдуманных кандидатов проверяли мой тест
- 08Админка, которую забывают сделать
- 09Сколько это стоило
- 10Три возражения про соло-продукты
- 11Что я сделал бы иначе
- 12Начни с подписки, которой недоволен
Что получилось за 45 дней
Два месяца назад я ничего не умел в разработке, не умел писать код, даже не знал, что такое Claude Code.
Однако сегодня у меня есть свой сервис: 158 тысяч строк кода, уже есть пользователи и даже первая оплата. Своя система управления клиентами, свои инструменты. Технический аудит говорит, что на это понадобилось бы команде программистов в районе восьми месяцев. Я справился в одиночку за 45 дней.
Всё это время я вёл детальный лог каждого решения. Что делал, что ломалось — а ломалось много чего. Язык программирования, база данных, даже на авторское право удалось наткнуться.
Здесь весь путь целиком, с реальными датами, цифрами и ошибками, которые стоили мне дней работы. И с тем, что нужно знать до старта, если ты планируешь создать свой соло-продукт и заработать на нём.
Меня выгнали из кружка программирования
Я не знаю ничего. Я никогда не участвовал в разработке.
Меня в детстве выгнали из кружка по программированию, потому что я за сколько-то уроков не научился писать калькулятор — и так этого и не смог сделать.
Моя задача была и не участвовать в разработке. Я не планировал учить язык, потому что знал: это долго, а мне нужен рабочий продукт быстро.
И на старте у меня был честный вопрос, на который я не мог ответить. Есть крупная компания, они много лет делают похожий сервис — в книге он датируется ещё 2015 годом. Если команда программистов не смогла сделать его нормально, точно ли смогу сделать нормально я?
На этот вопрос я не мог ответить себе до самого конца — пока уже финально не выложил сервис и пока он не начал работать.
Брать то, за что ты уже платишь
Идея, как и практически в любом моём продукте, была сделана из боли.
Я ехал в машине, слушал книгу — и у автора есть сервис, который занимается плюс-минус тем же. Я уже был владельцем бизнеса, мне очень понравилась идея анкетирования кандидатов. Мы зарегистрировались, оплатили подписку за 100 тысяч рублей.
Сервис был норм, но нам не хватало. Пришлось автоматизировать это сначала одним способом, потом мы продумывали, как сделать личный кабинет кандидата, как подвязать оценку кандидатов — чего в том сервисе не было.
И когда я думал, какой продукт создать первым, чтобы потренироваться — потому что ещё не было понятно, что всё получится, — я, конечно, выбрал то, за что я и так уже платил деньги и мне было неудобно.
На этом этапе я и не планировал создавать никакой уникальный продукт. Мне нужно было просто улучшить то, что уже существует и чем пользуется наша команда. И даже если бы это никто не купил — я всё равно сэкономлю сотни тысяч рублей в год на том, что перестану платить за чужой сервис.
Три ошибки, стоившие по рабочему дню
По моей задумке главным был не код, а подключение внешней модели. И по закону наш проект должен находиться на российских серверах. На этот закон кладут большинство тех, кто создаёт онлайн-проекты. Я же знал, что буду показывать это публично — а когда показываешь публично, будь готов, что найдутся люди, кто захочет всё проверить. Поэтому мне пришлось делать сразу по закону.
Первая проблема. Ключ работал у меня локально, я был в другой стране — и там всё шло. А в России он не работал: модель в России не отдаётся. Так я в тот же день узнал о существовании посреднических сервисов доступа.
Вторая проблема, 28 декабря. На иностранных серверах у меня работало всё идеально — они автоматически отслеживают ошибки и исправляют их. А как только я загружал всё на российский, он мне каждый раз кидал ошибку.
Я потратил 8 часов. Четыре часа переписки с моделями, я искал эту проблему и не мог найти. Это бесит: ты упираешься в одно и то же, десять раз проделываешь те же действия, не срабатывает.
Оказалось, что проблема была вообще не в проекте. У меня роутер закешировал данные, и сайт работал только у меня. Поддержка хостинга пишет: чувак, ты что, прикалываешься, всё работает. А у меня нет. Надо было выключить и включить роутер. Ну прикинь, как вообще до этого можно догадаться.
Третья проблема, 29 декабря. Сервер поднят, домен работает, сайт работает — а войти в приложение не получается. Ещё четыре часа поиска. Оказалось: иностранный сервер, если в пароле базы ошибка кодирования, исправляет её сам. А российские хостинги этого не делают. Я просто обновил пароль без запрещённых символов — и всё заработало.
Стек, к которому я пришёл через потерянные дни
Я наткнулся на видео, где человек рассказывает, как создал приложение на другом языке. И я подумал: ну всё логично, это я дурак, мой язык сложный.
Пошёл делать глубокие исследования. И там мне прямо говорят: тот язык — полная ерунда, не надо его использовать, а мой как раз лучший для этого. Я не поверил. Пошёл пробовать, потратил ещё два дня — и ничего не получилось. Он так же тормозил, там не было динамичных данных, не было графиков. Я бросил эту идею и вернулся обратно.
Если ты сегодня хочешь написать своё приложение, лучший стек — Next.js для веб-приложения и стандартная база на Postgres. Кто бы что ни говорил, именно с ними модели справляются проще.
Дальше про инструменты. Сначала я купил дорогую подписку на редактор с агентом — сразу за 200 долларов. Я не отношусь к тем, кто экономит: у меня был веб-сервис, который мы делали с программистами, и я как никто знаю, что с программистами это заняло бы миллионы рублей и полгода жизни.
Но там свои лимиты. В автоматическом режиме модели самые слабые: я десять раз пишу, трачу три часа — ни черта не получилось. Меняю на старшую модель — и за один огромный запрос она создаёт полный функционал.
Только вот 400 долларов на токены сгорели дня за три-четыре. Я докупил ещё на сотню и в какой-то момент посчитал: даже минимальная задача — функция «забыли пароль» — обходилась мне долларов в пятнадцать.
И тут я увидел, что есть Claude Code. Все видео рассказывали, что работать надо через терминал. Это ужасно: в терминале ты не можешь выделить строчку и поправить. А потом я увидел обложку — что будет, если связать VS Code и Claude Code. Это было спасение, и по сей день я использую именно эту связку.
Заходишь в расширения, выбираешь, устанавливаешь — и получаешь обычный чат прямо в редакторе. У него есть доступ ко всему коду, не создаются отдельные ветки. Это самый лучший стек для вайб-кодинга, который я нашёл.
Приложение — это оболочка для промптов
30 декабря я не написал практически ни одной строчки кода.
Когда вы создаёте проект, связанный с ИИ, вы должны понимать: практически всё ваше приложение — это оболочка для промптов. Всё, что делает мой сервис, я до этого делал руками в чате.
Мне нужно было создать все промпты: тот, что создаст действительно классную анкету; тот, что оценит кандидата и поймёт, насколько он подходит; тот, что разберёт результат теста и выдаст полноценный отчёт — на какую должность человек годится, какие у него сильные стороны, какие слабые.
Промпты — это 50% приложения на текущий момент.
Делается это просто: через улучшатель я писал «создай для меня промпт, который будет создавать идеальную анкету под нашу вакансию» — и дальше прогонял, тестировал, ещё раз прогонял, пока не находил тот самый.
Тридцать выдуманных кандидатов проверяли мой тест
3 февраля я добавлял первый тест на платформу. Мне казалось, что такой тест может взять любой сервис. Оказалось, это вообще не так: практически все тесты, которые мы находили, были под авторским правом.
Либо кому-то платить — и ладно бы платить, но это костыли, с кем-то договариваться, это занимает время. Либо придумать своё, чтобы работало не хуже. Понятное дело, придумывалось своё.
И вот приём, который я советую каждому при вайб-кодинге. Отправляйте модель самостоятельно симулировать реальных кандидатов.
Мы создавали тест по продажам. У меня нет кучи продажников, которых я могу отправить. Я кидал своим сотрудникам, они проходили — но это минимальная оценка.
Почти для каждого теста я создавал симуляции. Модель вставала на позицию тридцати разных портретов тех, кто проходит тест, а после сама же сравнивала: действительно ли ответы подходят под того кандидата, которым она прикидывалась.
И когда совпадение было уже практически идеальным, тест одобрялся. После этого мы прогоняли его по себе и по своим сотрудникам — просто чтобы убедиться, что это действительно полезный тест, а не пустышка.
Админка, которую забывают сделать
Дальше идут вещи, которые многие вайб-кодеры забывают. Мало кто задумывается, как сайт выглядит не со стороны клиента, а изнутри: есть ли у вас админка, есть ли система работы с клиентами.
Мы с этим запаривались. У меня есть тест на 180 вопросов. Чтобы дойти до сто семидесятого и проверить, точно ли там всё работает, мне буквально надо было прокликать сто семьдесят вопросов. Это время, которое тратилось в никуда.
Я вообще ни черта не понимаю в коде. Если что-то сломается, я даже сам не смогу это найти. Поэтому, когда вы такой же профан, вам нужно изначально закладывать инструменты, которые будут показывать вам все ошибки.
У меня есть дашборд со всеми пользователями: сколько было ошибок за 24 часа, кто и когда какими тестами пользовался. Есть система работы с клиентами: могу открыть любого пользователя, поставить заметку, посмотреть платежи, активность и общий таймлайн.
Есть админка оплат — когда какой платёж создан, какая была ошибка. Это нужно, чтобы отыскивать попытки взломать систему оплаты: у меня такое было с другим сервисом.
И кнопка обращения на каждой странице — написать в поддержку, оставить отзыв, сообщить об ошибке. Обращение появляется моментально, и я сразу вижу страницу, дату, браузер, критичность. Я пожалел, что мы такого не делали в сервисе, который создавали программисты.
Сколько это стоило
Теперь посчитаем, во сколько мне обошлось создать такой сервис.
Я платил за токены сразу на 100 долларов, за посреднический доступ вкинул 5 тысяч рублей — просто чтобы они полгода не кончались. Домен — 190 рублей на год. Хостинг — около 3 тысяч рублей: не самый дешёвый сервер, чтобы заранее был запас и потом не играть в танцы с бубном.
В итоге получилось максимально дёшево: меньше ста тысяч на всю разработку.
Маржа проекта — 80%. И вот почему: тут нет команды, нет кадровиков, нет продажников, нет программистов, нет менеджеров. Есть я и второй человек — управляющая, у которой доля в проекте. Мы не берём зарплату, потому что создаём это для себя.
Мой план — 100 платных пользователей в месяц, это уже миллион чистыми.
| Токены модели | 100 долларов сразу |
| Посреднический доступ | 5 000 рублей, хватит на полгода |
| Домен | 190 рублей за год |
| Хостинг | около 3 000 рублей, с запасом мощности |
| Вся разработка | меньше 100 000 рублей |
| Маржа проекта | 80% — нет команды и зарплат |
| План по выручке | 100 платных пользователей = миллион чистыми |
Три возражения про соло-продукты
«У сделанного в одиночку сервиса дырявая безопасность». Любую систему можно взломать, любая система небезопасна. Нужен просто кто-то, у кого будет соответствующий интерес. Взламывали и государственные реестры — значит, там тоже безопасность плохая?
«Такие продукты будут появляться как грибы, конкуренция всё съест». Ценен не онлайн-продукт. Как бы странно ни звучало, онлайн-сервис не стоит ничего. Ценны клиенты — поэтому я строил стратегию продвижения отдельно от самого продукта.
«Дешевле конкурентов на 30% — значит, хуже». Мы делали дешевле именно потому, что у нас нет команды и нет зарплат при марже 80%. И одновременно ставили цель сделать лучше — чтобы результаты тестов были показательнее для работодателя.
Что я сделал бы иначе
Два дня я потерял на переходе на другой язык, поверив чужому видео, — при том что исследование прямо говорило мне не делать этого. Я не поверил и проверил на себе.
Лендинг делать хотелось меньше всего: здесь нет никакой прокачки моего опыта, в отличие от создания сервиса. Но дизайнер был занят другим сайтом, и я собрал его сам за пару дней.
И вещь, которая меня раздражает во всех собранных на ИИ сайтах: уберите смайлики. У всех одинаковые смайлики, у всех одинаковый дизайн. Мой дизайн тоже палится — одинаковые скругления, цвета, иконки. Но элементарная аккуратность — это то, по чему вас будет оценивать пользователь. Для агента это вообще ничего не стоит: просто задайте ему изначально нормальные правила.
Начни с подписки, которой недоволен
Ты дочитал до конца — значит, вопрос не в том, можно ли собрать сервис без единого программиста. Можно, 158 тысяч строк за 45 дней. Вопрос в том, какой продукт стоит собрать первым, чтобы он окупился даже при нуле продаж.
Один вопрос напоследок. Ответь себе одним предложением: за какой сервис ты платишь и при этом каждый раз мысленно дописываешь ему функции? Назови его конкретно — с него и начни. Я читаю.


