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

Как всё начиналось
Всё начиналось в прошлом году.
Я случайно узнал о сервисе Suno. ОтношусьОтносился к нейросетям я, мягко говоря, скептически, поэтому сначала не придал значения.
Но так получилось, что ещё со школы я пишу стихи. Это была скрытая часть моей жизни — для всех я просто ИТ-шник. Сейчас я занимаюсь системным анализом в финтех-проектах, но сегодня не об этом.
И вот я решил попробовать Suno. У меня уже было несколько текстов песен, и после первой генерации я был в шоке. Думаю, большинство из вас уже видели подобные эксперименты у блогеров ещё в прошлом году.
Я увлёкся: начал превращать старые стихи в песни, писать новые — и в какой-то момент понял, что этого недостаточно.
От Telegram к собственному сайту
У меня есть группа в Telegram, где я развлекаю подписчиков песнями, созданными вместе с Suno. Если интересно — можно найти по нику @frogyf.
Но в какой-то момент мне стало тесно в Telegram.
Я решил сделать себе полноценный сайт-визитку: плейлист с песнями и текстами, чтобы любой желающий мог послушать.

Идея быстро разрослась до медиа-платформы:
генеративное радио, обработка аудио на Python, автоматический постинг в соцсети и удобная админка.
В этой статье расскажу, как это всё развивалось.
Первый шаг: фронт и админка
Сначала я собрал минимальный фронт на React с использованием вайбкодинга, чтобы быстро собрать интерфейс.
В качестве «фронторисовалки» использовал bolt.new — описываешь, что хочешь, и он отдаёт тебе прототип фронта. При регистрации даётся 1М токенов и этого хватает на простой фронт. Сейчас bolt уже умеет сам прикручивать API, но тогда мне нужен был только фронт.

Я не дизайнер, и это моя слабая сторона, поэтому когда есть кто-то (или что-то), что может помочь, — я только «За-За».
Задача: сделать простую страницу, почти как одностраничник на Tilda.
Контент — в структурированном JSON.
Добавляешь песню, видео или статью → пересобираешь сайт.
На этом этапе стало понятно: без бэка и админки не обойтись.
Что умела первая версия админки
В первой версии админка могла:
Добавлять песни и видео через форму;
Добавлять статьи.
И всё. Но долго это не продлилось 🙂
Требования выросли
Список возможностей начал расти:
Проверка текстов песен на спецсимволы и форматирование по шаблону(т.к. текст я храню с тегами для suno, а руками их вымарывать долго);
Получение статистики и видео с YouTube (позже отказался, теперь храню всё на S3 от REG.RU, но статистику просмотров и лайков с YouTube продолжаю собирать и суммировать со всех площадок);
Мастеринг треков (раньше делал через внешние сервисы и Audacity, но это долго);
Очистка цифрового шума (наткнулся на обсуждение на 4PDA, где писали, что suno добавляет «водяные знаки» в треки — решил так же почистить);
Генеративное радио (агенты записывают короткие подкасты до 5 минут, а потом снова включается стриминг; дополнительно планирую вставки погоды, новостей и дорожной ситуации, как на настоящем радио);
Автоматизация постинга в соцсети (Хотелось как-то сократить процесс, поэтому добавил сервис по планированию и рассылке постов/сторис);
Идея на будущее — добавить генератор видео-превью с помощью Sora 2 при создании поста.

Бэкэнд и хранение контента
Для сервера я использую Railway, а медиа храню в облаке S3 от REG.RU.
Что это даёт:
Разделение фронта и бэка;
Возможность масштабировать проект при росте трафика;
Освобождение сервера от хранения тяжёлых файлов.
Railway — очень удобный сервис:
в один клик поднимаешь фронт, вторым — n8n, поднимаешь базу данных, настраиваешь API через визуальный конструктор.

Что дальше
Я не буду превращать статью в бесконечный лонгрид, поэтому это — только часть первая.
Сайт пока в тестовом режиме, радио ещё не работает, и не все песни и клипы залиты.

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

Вот так выглядит пресет для пост обработки. Чтобы поддержать правильность статьи на хабре, необходимо добавить немного кода.
«vinyl»: { «clean»: { «remove_hiss»: True, «remove_clicks»: True, «remove_dc_offset»: True, «filter»: {«type»: «lowpass», «cutoff_hz»: 18000} # эмуляция мягкости }, «eq»: {«low»: +3, «mid»: -1, «high»: -2}, «compressor»: {«threshold»: -20, «ratio»: 2.5, «attack»: 15, «release»: 100}, «limiter»: {«threshold»: -1.0}, «normalize_lufs»: -14, «extras»: {«vinyl_noise»: True, «wow_flutter»: 0.3} # можно добавить имитацию винила
В следующей статье расскажу, как вайбкодинг помогает делать проекты в одиночку. В качестве помощника я использую Cursor: он кодит, я потом долго подчищаю — и вместе мы движемся к цели.
Источник: habr.com



























