Поиск новой музыки «в духе» любимых исполнителей мы упаковали в Telegram-бота: пользователь называет артиста — и получает подборку музыкантов, близких по жанру и звучанию. Проект реализован в партнёрстве с Orbyx. Бот собирает данные через Music API, разбирает жанр, стиль и другие характеристики и по алгоритму матчинга формирует персональный список рекомендаций. Команда полного цикла на Python прошла путь от идеи до работающего продукта за 1,2 месяца — и дала меломанам простой способ открывать новых музыкантов прямо в мессенджере.

Найти новую музыку «в духе» любимого исполнителя сложнее, чем кажется. Каталоги стримингов насчитывают десятки миллионов треков, но их рекомендательные алгоритмы непрозрачны и заперты внутри платформ: подборка живёт в одном приложении и не объясняет, почему в ней оказался тот или иной артист. Слушатель, который хочет осознанно расширять музыкальный кругозор, остаётся с ручным поиском по форумам и чужим плейлистам.
Заказ, с которым к нам пришли, звучал конкретно: нужен бот, способный парсить информацию о схожих артистах по указанным данным. Система должна анализировать эти данные и находить исполнителей с похожим стилем, жанром или другими характеристиками — то есть не просто выдавать случайные имена, а обоснованно подбирать музыку под вкус конкретного человека.
Отдельное требование — простота использования. Никаких регистраций и установок: пользователь пишет боту в Telegram, указывает исходные данные и получает готовый список исполнителей, которые могут быть ему интересны. Всю сложность — сбор данных, сопоставление признаков, ранжирование — мы спрятали под капот.
Чтобы найти исполнителей, похожих на любимого артиста, слушатель перебирает форумы, тематические подборки и чужие плейлисты. Это часы поиска с непредсказуемым результатом — и большинство просто остаётся в привычном круге из десятка групп.
Алгоритмы музыкальных платформ работают как чёрный ящик: не объясняют логику подбора и не переносятся между сервисами. Слушатель не управляет признаками схожести — не может попросить похожих по жанру, а не по популярности.
Жанры, стили, теги и справочная информация о музыкантах разбросаны по разным источникам и форматам. Сопоставлять их вручную по каждому исполнителю — неподъёмная задача даже для увлечённого меломана, а тем более на потоке запросов.
Точка входа для пользователя. Человек отправляет боту исходные данные — например, имя любимого исполнителя — и через несколько секунд получает результат. Мы построили диалог на Telegram Bot API: понятные подсказки, обработка опечаток и некорректного ввода, аккуратное форматирование ответов. Никакой регистрации и отдельного приложения — бот работает там, где пользователь уже общается каждый день.
По запросу бот обращается к музыкальному API и получает справочные данные об артисте: жанры, стилистические теги и другие характеристики, доступные в источнике. Мы обернули интеграцию в отдельный слой с обработкой ошибок и повторными запросами, чтобы временная недоступность внешнего сервиса не ломала сценарий пользователя и не оставляла его без ответа.
Сырые данные из внешних источников приходят в разном виде: различаются написания имён, наборы тегов и структура полей. Модуль парсинга приводит их к единому внутреннему формату — вычищает дубли, сводит синонимичные жанры, отбрасывает неинформативные поля. Именно нормализация делает дальнейшее сравнение артистов корректным, а рекомендации — предсказуемыми по качеству.
Из нормализованных данных для каждого исполнителя собирается структурированный профиль: жанр, стиль и прочие характеристики в машиночитаемом виде. Такой профиль — единица, с которой работает алгоритм матчинга: чем полнее и чище признаки, тем точнее итоговый подбор похожих музыкантов, поэтому наполнению профиля мы уделили отдельное внимание.
Ядро системы. Алгоритм сравнивает профиль исходного исполнителя с профилями кандидатов: совпадение жанров, близость стилистических тегов и других характеристик складываются в оценку схожести. Кандидаты ранжируются по этой оценке, и в выдачу попадают наиболее релевантные — а не просто самые популярные — артисты, что и отличает осмысленную рекомендацию от случайной.
Итог работы пайплайна — список исполнителей, подобранный на основе выбранных пользователем данных. Бот оформляет его в удобных сообщениях: имена артистов с ключевой информацией, по которой легко решить, что послушать первым. Рекомендации помогают расширить кругозор и открыть новых любимых музыкантов — ровно та задача, которую ставил заказчик.
Внешние музыкальные API ограничивают частоту обращений, поэтому мы добавили типовой для таких интеграций контур устойчивости: очередь запросов, контроль лимитов и кэширование уже полученных данных. Повторный запрос по известному артисту отрабатывает быстрее и не расходует квоту API, а бот стабильно отвечает даже при всплесках активности пользователей.
Основной язык проекта. Для задач, где сходятся работа с внешними API, парсинг данных и алгоритмическая логика, Python даёт самый короткий путь от идеи до результата: зрелые библиотеки для HTTP-запросов и обработки данных, лаконичный код, лёгкая доработка. Для проекта со сроком 1,2 месяца скорость разработки была решающим аргументом.
Интерфейс продукта. Telegram избавил нас от разработки и поддержки собственного приложения: у пользователя уже есть мессенджер, а бот получает готовую доставку сообщений, форматирование и работу на любых устройствах. Официальный Bot API стабилен и хорошо документирован, поэтому диалоговая часть собиралась быстро и предсказуемо.
Источник музыкальных данных. Вместо того чтобы годами накапливать собственную базу артистов, мы подключили готовый музыкальный API с жанрами, тегами и справочной информацией об исполнителях. Это сократило срок запуска и сняло вопрос актуальности данных: сведения о новых артистах появляются в источнике без нашего участия.
Слой обработки данных между внешними источниками и алгоритмом. Парсинг извлекает нужные поля из ответов API, нормализует написания и приводит характеристики артистов к единому формату. Без этого слоя матчинг сравнивал бы несопоставимые записи — и точность рекомендаций рассыпалась бы на первых же нестандартных данных.
Связка, ради которой существует проект: алгоритм матчинга считает схожесть исполнителей по жанру, стилю и другим характеристикам, а рекомендательная логика превращает оценки в ранжированный список. Мы сделали правила сопоставления настраиваемыми, чтобы калибровать выдачу на реальных примерах, не переписывая ядро системы.
Вместе с Orbyx разобрали, как будущие пользователи ищут музыку и что считают удачной рекомендацией. Зафиксировали главный сценарий — от имени артиста к списку похожих — и договорились о критериях качества выдачи ещё до старта разработки.
Сравнили доступные музыкальные API: полноту данных о жанрах и стилях, покрытие малоизвестных исполнителей, лимиты запросов и условия использования. По итогам выбрали источник и спроектировали слой парсинга под его формат ответов.
Собрали первую версию алгоритма схожести и прогнали её на подборке реальных артистов разных жанров. Быстрый прототип показал, какие признаки действительно влияют на качество рекомендаций, и уберёг финальную версию от лишней сложности.
Подключили диалоговую часть на Telegram Bot API к пайплайну данных: приём запроса, обращение к Music API, парсинг, матчинг и форматированная выдача. Отдельно проработали пограничные случаи — опечатки, неизвестные имена, недоступность внешнего сервиса.
Проверяли рекомендации на живых примерах и настраивали веса признаков: где-то жанровое совпадение важнее, где-то решает стилистика. Итерациями добились выдачи, которую и мы, и партнёр признали убедительной — похожие артисты действительно ощущаются похожими.
Запустили бота через 1,2 месяца после старта. После релиза следили за реальными запросами, укрепили обработку нестандартного ввода и кэширование частых обращений — так бот вышел на стабильную работу без ручного присмотра.
За 1,2 месяца мы прошли путь от постановки задачи до работающего продукта: в Telegram появился функциональный бот, который успешно решает задачу поиска схожих артистов. Пользователь указывает исходные данные — и получает список исполнителей, подобранных по жанру, стилю и другим характеристикам, а не случайный набор имён. Для слушателя это простой способ расширить кругозор и открыть новых любимых музыкантов без раскопок в форумах и плейлистах.
Проект подтвердил работоспособность выбранной архитектуры: связка Python, Music API и собственного алгоритма матчинга собирается в цельный рекомендательный пайплайн за считаные недели. Слои системы разделены — источник данных, парсинг, матчинг и интерфейс независимы друг от друга, поэтому решение можно развивать: подключать дополнительные источники, углублять признаки схожести или переносить ту же логику из Telegram в другие каналы.
1,2 месяца
от старта до работающего бота
1 запрос
от имени артиста до подборки похожих
6 технологий
в пайплайне от парсинга до выдачи
Telegram
интерфейс без отдельного приложения
МАЙПЛ Bot создан в партнёрстве с Orbyx — и мы публикуем этот кейс открыто, с именем партнёра. Инженерная часть — Python-пайплайн, интеграция с Music API, алгоритм матчинга и сам Telegram-бот — работа нашей команды разработчиков полного цикла.
Совместный формат помог пройти путь от идеи до релиза за 1,2 месяца: продуктовые решения и техническая реализация двигались параллельно. Указывать вклад каждой стороны в таких проектах мы считаем нормой — читатель кейса должен понимать, кто за чем стоит.
Расскажите о задачах вашего бизнеса — предложим архитектуру и оценим сроки
Телеграмм
Делимся визуально привлекательными фрагментами наших последних веб-проектов.
ВКонтакте
Пишем о интересных технических решениях и вызовах в разработке.
MAX
Демонстрируем дизайнерские элементы наших веб-проектов.
TenChat
Деловые связи, кейсы и экспертные публикации.
Рассылка
© 2025-2026 МАЙПЛ. Все права защищены.