soundr

библиотека сэмплов для музыкантов с поиском по смыслу звука

soundr.ru
роль
back-end developer
период
2025 — н.в.
формат
в команде
30+ с → ~2 с
время отклика поиска

задача

библиотека сэмплов бесполезна, если поиск по ней не работает: музыкант ищет по описанию звука, а не по точному имени файла. поиск отвечал больше 30 секунд — на такой задержке сценарий подбора звука просто разваливается.

решение

  • переработал систему поиска: перевел на embeddings и оптимизировал запросы и индексы
  • сократил время отклика с 30+ секунд до ~2 секунд
  • реализовал авторизацию с подтверждением email
  • настроил обработку входящих писем с пересылкой в Telegram — вся входящая коммуникация попадает к команде сразу

архитектура

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

стек

backend
python embeddings
данные
postgresql