Часть I. Зачем понадобился сайт
Подкасту «Бака!» пять лет. Начинался он как разговоры двух новичков об аниме, а вырос в большой медиапроект: ежедневный телеграм-канал с заметками об анимации, видеоэссе на ютубе, статьи для «Кинопоиска» и «Т—Ж», 120 тысяч подписчиков в тиктоке.
Проблема была в том, что всё это жило в соцсетях. А значит, почти не индексировалось — ни поисковиками, ни нейросетями. Пять лет разговоров об аниме существовали только внутри платформ, у каждой из которых свой поиск и свои правила.
Полтора года назад — ещё до появления агентов — я уже пробовал собрать сайт с помощью ChatGPT. Дошёл до регистрации домена и остановился. Инструкции были неполными. Слишком много приходилось делать руками: копировать куски кода куда-то, разбираться, почему у меня не запускается то, что должно запускаться. Модель советовала, причем часто по устаревшим данным, и не могла сделать за меня. В итоге я пострадал пару дней и сдался.
Но две недели назад я увидел пост Самата Галимова из «Запуска завтра» — о том, как он собрал сайт для своего подкаста со всеми расшифровками эпизодов за пару вечеров.
И я решил попробовать снова. Идея была следующая: если можно сделать расшифровки подкаста, то значит можно сделать и полный каталог проекта с перекрёстными ссылками. Чтобы можно было нажать на название аниме и увидеть всё, что мы про него говорили: в постах, в статьях, в выпусках подкаста — вплоть до минуты в разговоре.
Отсюда выросла и структура: сайт состоит из двух половин — архива материалов и каталога аниме, — а связывают их упоминания тайтлов.

Часть II. Как работала работа
Так как последний раз код я писал в седьмом классе в Паскале, планировать проект я начал сразу в Claude. Я не знал, какими инструментами он может пользоваться, какие бывают админки (кроме «Вордпресса»), чем статический сайт отличается от динамического, и какие есть ограничения. Поэтому я попросил его задавать мне уточняющие вопросы.
После нескольких раундов вопросов и моих дополнительных разъяснений идеи (например: мне пришлось отдельно объяснить про расшифровки и прислать сайт «Запуска завтра» в качестве примера), Claude предложил стек: Astro как генератор сайта, админка Sveltia, хостинг на Cloudflare Workers.
От «Вордпресса» и конструкторов мы отказались, потому что готовых плагинов под мои задумки там всё равно нет — пришлось бы делать всё то же самое, только внутри чужой системы.
Важно отметить, что на этом этапе я постоянно спрашивал у Claude глупые вопросы. А это бесплатно? А почему мы берем именно эту админку? А будут ли какие-то ограничения по дизайну? Прежде чем сделать выбор, мне хотелось разобраться, почему и что именно мы делаем. Настолько, что первые несколько дней Claude мне чуть ли не в каждом сообщении писал: «Не переживайте, это бесплатно».

В итоге обсуждений Claude написал мне восемь документов с ТЗ (их количество к концу проекта вырастет в два раза). Объяснил, как включить Claude Code и сгенерировал промпт для первой сессии.
В дальнейшем я использовал именно связку Claude в браузере и Claude Code. Первый объяснял мне работу, генерировал ТЗ по моим идеям и писал промпты, а второй — реализовывал их и писал код. Я только переносил текст из одного окна в другое.

Отсюда выросла идея, одновременно гениальная и совершенно очевидная: я попросил Claude Code записывать отчёты о своей работе в отдельные документы. Чтобы потом скармливать их браузерному Claude, а не пересказывать своими словами.
Это окупилось кратно, потому что если бы я этого не сделал — проект бы развалился где-то посередине. Claude Code бы не хватило контекста, он начал бы лагать и переделывать то, что уже сделал. А так я мог спокойно запускать новые сессии, не боясь потерять прогресс.
Первый коммит — заготовка сайта — появился в 14:20 5 августа. К концу этого же вечера набралось сорок коммитов, работала главная страница, написание постов, разделы, а сайт открывался в интернете — правда, пока без домена и без дизайна.

Часть III. Три дня дизайна
Нагляднее всего объяснить как работал для меня вайбкодинг можно на дизайне сайта. В изначальном ТЗ, который сгенерировал Claude, дизайн должен был появиться сам: я бы скинул пару референсов, а Claude Code придумал на их основе все остальное. Скорее всего это даже сработало бы. Но мне хотелось больше контроля.
Чтобы сэкономить (про деньги подробно я расскажу ниже), я решил продумать дизайн отдельно, в СhatGPT, а потом уже отдать его Claude Code. Это было ошибкой.
Я отдал СhatGPT несколько подборок референсов: тот дизайн, что уже был у подкаста; раскладку главной страницы в стиле медиа; верстку и типографику; и идею с марками для карточек аниме. И попросил нарисовать на основе этого дизайн. СhatGPT довольно точно считал стиль, к которому мне хотелось прийти:
«Основной сайт выглядит как современный культурный журнал. Светлый бумажный фон, много воздуха, тонкие чёрные линии, крупная типографика, но без избыточного декора. Главная использует не стандартные карточки, а редакционную сетку с материалами разного веса».
Но вот нарисовать у него получалось только подобие страницы. Каждая генерация отличалась в деталях. Перенести мои точные правки в новые версии он не мог. После нескольких безрезультатных попыток, он предложил вместо генерации изображений работать с html-файлами. Супер, то, что нужно, подумал я (проблемы на этом не закончились).

С html работа пошла побыстрее. Я просил СhatGPT нарисовать страницу, давал ему правки, он ее переделывал — и так до тех пор, пока итоговый результат меня не устраивал. На создание главной страницы у меня ушло 8 итераций, на мокап статьи — четыре. После того, как мы сделали (как мне казалось) все страницы, я попросил СhatGPT написать документ, в котором бы описал правила дизайн-системы: где какие отступы, шрифты, блоки и так далее.
После этого я пошел в Claude, отдал ему работу СhatGPT и попросил исправить, если где-то есть ошибки. Ух, Claude просто уничтожил работу СhatGPT, вот только один пример:

Следующие четыре часа я потратил на то, чтобы Claude заново переделал все макеты по тем правилам, которые сам СhatGPT себе и написал и сам же не смог исполнить. В итоге к тем 8 итерациям главной добавилось еще 18 сборок всего сайта от Claude.
Но и тут я решил перестраховаться. Прежде чем отдавать то, что мне казалось готовым, Claude Code, я спросил отдельный чат, все ли страницы, нужные для разработки, я подготовил. Угадайте правильный ответ: конечно, нет. Оказалось, что я забыл страницу ошибки, состояния плееров, вид ссылок и еще десяток разных мелких элементов, о которых даже не думаешь, смотря на сайт не подкованным взглядом.
Впрочем и на этом работа не закончилась. Одно дело нарисовать макеты, совсем другое правильно их перенести в код. Перенос занял у меня следующие два дня, тридцать сессий Claude Code и больше 20% всех правок за проект. То есть нарисовать весь дизайн — вечер. Заставить его работать — двое суток почти без перерыва.

Почему так долго? Приведу пример. На сайте есть дивайдер, разделительная линия. По идее все просто, одна линия, на всех страницах одинаковая. В макете это одна картинка. Но в коде на нее ушло шесть заходов за два дня. Каждый раз выяснялось, что линию рисует ещё какой-то элемент, о котором не подумали: рамка вокруг поля поиска, дуга перемотки у плеера, граница врезки. Одна страница текста из изначального макета превратилась в пять разных — с обложкой и без, с транскриптом и без, с видео, на телефоне. Макет показывает одно состояние, сайту нужны все. Если не сказать Claude Code как эти состояния должны выглядеть — он придумает сам. И не всегда так, как тебе нужно.
Это вообще видимо главное правило вайбкодинга — можно не знать, как ты хочешь чтобы твоя задача была сделана, но точно нужно понимать, в чем именно эта задача состоит. И как должен выглядеть результат.
Часть IV. Большие проблемы
На самом деле, настоящие сложности появились только под конец работы. Когда сайт уже работал, неплохо выглядел и им можно было пользоваться. Потому что я начал переносить контент и давать его пролистать друзьям.
И оказалось, что сайт — не открывается в России. Сайт лежал на Cloudflare, который Claude выбрал в первый же день, и это оказалось миной замедленного действия. С июня 2025 года сайты, работающие через Cloudflare, почти перестали открываться в России — Роскомнадзор ограничивает не отдельные ресурсы, а сам сервис, поэтому под раздачу попадают все, кто там живёт, независимо от содержания.

Пришлось срочно придумывать способ обхода. Первой идеей было переехать целиком на хостинг, который меня был куплен для вставки видео. Но оказалось, что он тоже заблокирован в РФ! Ровно по тому же принципу, что и Cloudflare.
Спасло то, что сайт статический: Astro не крутит ничего на сервере, а заранее собирает готовые html-файлы, которые остаётся просто разложить по папкам. Такую папку можно положить куда угодно, в том числе в два места сразу. Поэтому я положил его в Object Storage «Яндекса». Он умеет отдавать такие статические файлы прямо в браузер, он российский и потому не попадает под ограничения, а ещё он привязывается к «Вебмастеру». Работа по переезду заняла еще день.
Впрочем дальше постоянно вылезали хвосты. За пару дней я истратил бесплатный лимит операций у Яндекса (потому что не подумал заранее, что их надо оптимизировать, а Claude Code сам не догадался это сделать — к счастью траты составили всего пару рублей), а потом туда же переехали все видео с изначального хостинга, потому что таскать их каждый раз через две площадки оказалось дороже, чем хранить на месте.

Самая смешная же проблема вылезла за день до релиза. Тринадцатого августа я целый день сидел в админке и разбирал перевезенный из телеграма архив постов. Устроена админка так, что каждое сохранение — это отдельная запись в GitHub: нажал «сохранить», и правка тут же уехала в хранилище кода. За день у меня набралось 512 таких записей. Для GitHub это выглядело не как работа человека, а как поведение робота, и защита от злоупотреблений пометила аккаунт спамом. Админка перестала сохранять, сайт перестал обновляться, и я остался с половиной не отредактированных постов. Паника, грусть, перенос выхода сайта — уже виделись мне неизбежным исходом.
Я тут же начал спрашивать Claude, что делать. Отправил письмо в поддержку (ответ до сих пор не пришел), подумал привязать другой аккаунт к админке (AI меня отговорил) и в итоге обходной путь нашёлся совершенно случайно. Оказалось, что хотя админка не может вносить изменения в GitHub, агент Claude может! Поэтому админку запустили у меня на компьютере, локально, и она стала складывать изменения не в GitHub, а прямо на диск. Я правил сколько нужно, а потом одной командой отправлял всё разом через Claude Code. В итоге мои правки уехали одним куском, восемь тысяч строк за раз.
Ситуацию еще пришлось записать отдельным пунктом в правила проекта, потому что Claude Code про неё регулярно забывал и продолжал выкладывать сайт обычным способом, из-за чего я дважды смотрел на старую версию и говорил, что ничего не работает.
И из-за этого мне сейчас приходится добавлять посты и эпизоды подкаста вручную. Хотя мы с Claude придумали почти полностью автоматизированную систему.
Часть V. Самостоятельные роботы

На сайте сейчас работает девять роботов (точнее будут работать, когда мне разблокируют GitHub).
Первый — робот подкаста. Он каждое утро проверяет нет ли новых эпизодов в RSS-ленте и, если есть, заводит черновик на сайте — с заголовком, плеером и описанием.
Второй — робот расшифровки. Если есть новый выпуск подкаста, он берёт его и прогоняет через ElevenLabs Scribe. В расшифровке он расставляет таймкоды и умеет сам отличать ведущих по высоте голоса. Результат кладет в тот же черновик выпуска.
Третий — робот обложек. Он вырезает персонажа с обложки новых выпусков, чтобы они выглядели красиво на прозрачном фоне. И добавляет в тот же черновик.

Четвертый — робот импорта из телеграма. Он заходит в канал подкаста раз в шесть часов и забирает новые посты. Из них он делает черновики: с заголовком, обложкой и текстом. Если вдруг в посте несколько изображений, их он превращает в галерею. А еще он автоматически подменяет ссылки на другие посты в телеграме ссылками на эти же материалы на сайте.
Пятый — робот разметки. Он автоматически сверяет все новые черновики на сайте с каталогом аниме. Если он видит соответствия, то сам проставляет в постах (и расшифровках) ссылки на тайтлы.
Шестой — робот новых тайтлов. Он запускается вручную и проходится по новым постам. Его задача найти, нет ли там упоминаний аниме, которых в каталоге еще нет. Он сверяет в первую очередь слова в кавычках, но и по остальному тексту тоже проходится по своим правилам. Если соответствия находятся, он выписывает их на отдельную страницу в админке. Где я могу руками отметить, что из этого аниме («Тетрадь смерти»), а что нет («Шрек»).
Седьмой — робот каталога. Забирает упоминания новых тайтлов и строит для них страницы в каталоге. Информацию берет из двух источников «Шикимори» и Anilist (на случай, если что-то будет заблокировано)
Восьмой — робот падежей. Склоняет названия новых аниме в каталоге по русским падежам, чтобы упоминание находились в тексте в любой форме.
Девятый — просыпается раз в сутки и обновляет российскую копию сайта.
Кроме этого мы с Claude Code написали и несколько одноразовых роботов. Например, один забирал статьи из DTF а другой потом верстал их по шаблону. Если бы не роботы, разбор почти полутора тысяч черновиков занял бы у меня гораздо больше, чем три дня.
Таким образом, моя работа с сайтом сейчас сводиться к тому, чтобы проверить готовые черновики или упоминания, и окнуть их для публикации. Минимум ручного труда, максимум автоматизации.
Часть VI. И сколько это стоит?
Гораздо дешевле, чем оплата работы программиста (не говоря уже о дизайнере, верстальщике, редакторе и еще паре-тройке специалистов, которые бы понадобились для такой работы раньше).
Подписка Claude — $20 в месяц. Но я единоразово повысил тариф до $100. Если бы растянул работу на месяц-два, легко бы уложился в базовую цену.
Подписка Eleven Labs для расшифровок — $22 в месяц. Хватило даже на расшифровку безумного объема в 143 выпуска архива (140 947 строк) без доплаты.
Домен bakapodcast.com — примерно 1000 рублей в год. Покупал на porkbun.com.
Yandex Cloud — 18 рублей. За то, что превысил лимит в 10 тысяч операций в месяц. Скорее всего будет выходить меньше 300 рублей в месяц даже при тысячах посетителей.
Возможно позже нужно будет еще докупить хранилище, но наши видео в основном выходят на YouTube, аудио хранится на mave, поэтому на картинки бесплатного тарифа пока хватает
Лишние траты: хостинг Hetzner — 9 евро в месяц.
Astro, Sveltia, Cloudflare, GitHub — бесплатно.
Итого: на разработку сайта ушло примерно 12 тысяч рублей, на его поддержку дальше — примерно 4 тысячи рублей (хотя если отписаться от Claude, можно уложиться и в 2 тысячи).
Часть VII. Итог
Сайт собрался за одиннадцать дней. Это 87 сессий Claude Code, 628 моих сообщений в терминале и около ста часов за клавиатурой. Сейчас на сайте лежат 143 выпуска подкаста с полными расшифровками, почти тысяча постов, и каталог из 507 тайтлов с 14 286 упоминаниями в материалах. То, ради чего всё затевалось, работает: нажимаешь на название аниме и видишь всё, что мы про него говорили — в заметках, статьях и выпусках, вплоть до минуты в разговоре.
Живёт это на bakapodcast.com, а для России есть копия на ru.bakapodcast.com.
После завершения работы над этой версией сайта я уже задумываюсь, что дальше можно добавить социальные функции: комментарии, оценки, ачивки за просмотренные тайтлы и прослушанные выпуски. И я абсолютно уверен, что мне это по силам сделать.
Кстати, в рекламном ролике подкаста, который стоит в начале этого текста, единственное, что не сделано нейросетями — это звук клавиатуры. Все остальное: музыка, анимация (и, как вы уже понимаете) сам сайт — работа Claude.

