EN
프로젝트로 돌아가기
BrainStream

BrainStream

추천 다양성·메타데이터 정확성·1인 운영 가능한 단순성을 동시에 만족시키도록 설계한 개인 음악 수집·정규화 파이프라인

2026년 3월 - 2026년 3월 1개월 미만

기술 스택

PythonFastAPISQLiteMutagenDockerDocker ComposeGHCRListenBrainzMusicBrainzNavidrome

개요

ListenBrainz에 쌓이는 본인의 청취 패턴에서 나오는 추천을, 셀프 호스팅 스트리밍 서버(Navidrome) 라이브러리로 자동으로 흘려보내는 1인 음악 수집·정규화 파이프라인입니다. Python(FastAPI) + 단일 SQLite + Docker Compose 위에 BrainStream과 Navidrome을 함께 띄우고, 추천 → 정규화 → 수집 → 라이브러리 반영 → 외부 클라이언트 응답을 한 컨테이너 스택 안에서 닫습니다.

상용 SaaS 없이 같은 루프를 굴리려면 — 추천이 echo chamber에 갇히지 않을 것, 메타데이터가 라이브러리 전체에서 일관될 것, 다단계 파이프라인이 임의 단계에서 죽어도 안전하게 이어지면서 1인이 운영 가능한 수준의 단순성을 유지할 것 — 세 가지를 동시에 만족시켜야 했고, 그 위에 설계 결정을 쌓아 올렸습니다.

기술 스택

역할

1인 개인 사이드 프로젝트. 파이프라인 설계, 외부 API 통합, 메타데이터·태깅 로직, FastAPI Web UI, Subsonic 프록시, Docker Compose 패키징과 GHCR 릴리즈 워크플로까지 직접 만들고 운영합니다.

주요 기여

트러블슈팅

의의

상용 SaaS 없이 “내 청취 패턴 → 내 라이브러리”를 코드로 닫아본 개인 자동화 사례입니다. 추천 품질·메타데이터 정확성·다단계 saga 복구 가능성 세 축이 서로 깎아먹지 않게, 외부 API의 신뢰 수준에 맞춰 비대칭 폴백을 구성하고 도메인 정규화의 책임은 MusicBrainz에 위임하며 운영 평면은 일부러 작게 잡은 점이 가장 만족스러웠습니다.

모든 프로젝트 보기
Close