음악 위키에서 종합 음악 플랫폼으로
디깅 뮤직을 오픈한 뒤, 메인 화면, 커뮤니티 구조, 헤더 탐색, 위키 편집 UX, 가사 DB 구조를 동시에 개선했다.
이건 단순한 시각적 수정이라기보다는 제품 구조를 다시 정리하는 작업에 가까웠다. 목표는 디깅 뮤직이 흩어진 기능들의 묶음이 아니라, 하나의 연결된 종합 음악 플랫폼처럼 느껴지게 만드는 것이었다.
메인 화면 개선
기존 메인 화면은 리뷰와 신보를 보여주고 있었지만, 사용자의 흐름이 아직 명확하지 않았다. 콘텐츠를 보여주기는 했지만, 읽기 → 클릭 → 탐색으로 이어지는 힘은 부족했다.

바뀐 메인 화면에서는 공지사항을 상단에 추가하고, 네비게이션은 드롭다운 없이 주요 페이지에 바로 접근할 수 있도록 단순화했다.

리뷰와 가사 콘텐츠는 큐레이션된 형태로 메인에 노출했고, 가로 스크롤을 도입해 탐색성을 높였다. 앨범, 곡, 이야기처럼 둘러보는 성격이 강한 콘텐츠에는 가로 스크롤이 더 자연스럽다고 판단했다.
가장 많이 고민한 것은 무엇을 메인에 보여줄지였다.
디깅 뮤직의 핵심은 위키 기반 음악 해석이기 때문에, 메인 화면도 결국 읽을 거리에서 시작해 클릭으로 이어지고, 다시 더 깊은 탐색으로 넘어가도록 설계하려고 했다.
또한 기존에는 차트 페이지에서만 가능했던 날짜 선택 기능을 메인으로 옮겼다. 클릭 시 반응형으로 로딩되도록 처리해 사용자의 부담도 줄였다.
커뮤니티 구조 개선
커뮤니티 카테고리도 전면적으로 다시 정리했다.
처음에는 제한적인 장르 기반으로 카테고리를 구성했지만, 장르 구분이 모호하다는 피드백과 더 다양한 음악 씬을 다뤄야 한다는 피드백이 많았다.
이번 업데이트에서는 기존 카테고리를 개편해 힙합, 락, 인디, K-POP, J-POP, 재즈, 팝, 일렉트로닉, 클래식 등 다양한 음악 씬 중심으로 재구성했다. 게시글 작성 시 다중 선택도 가능하게 했다.
또한 사이트 전반에서 “장르”라는 용어 대신 “씬”이라는 표현을 사용하기로 했다. 장르는 분류표처럼 딱딱한 느낌이 강하지만, 씬은 음악 문화와 커뮤니티의 분위기를 더 잘 담는 표현이라고 느꼈다.
헤더와 탐색 흐름 개선
헤더도 단순화가 필요했다.
기존에는 커뮤니티가 드롭다운 형식으로 숨겨져 있었다. 원하는 장르에 접근하려면 한 번 더 선택 과정을 거쳐야 했고, 사이트가 느리고 간접적으로 느껴졌다.
이번 업데이트에서는 커뮤니티를 별도의 탭 페이지로 분리하고, 장르가 아니라 씬 선택은 그 안에서 하도록 구조를 바꿨다. 위키와 리뷰도 헤더에서 바로 이동할 수 있도록 했다.
결과적으로 전체 탐색 흐름이 더 빠르고 직관적으로 바뀌었다. 사용자는 메뉴 구조를 해석하지 않아도 서비스의 핵심 영역으로 바로 이동할 수 있게 됐다.
위키 편집 UX와 DB 구조 개선
가장 큰 개선은 겉으로 잘 보이지 않는 곳에서 일어났다. 바로 가사와 해설 DB 구조다.
처음 설계한 구조는 가사 한 줄, 즉 line을 하나의 엔티티로 보고, 그 객체에 번역과 해설을 속성으로 붙이는 형태였다.
이 구조는 처음에는 아주 직관적이었다. 하지만 실제로 운영해보니 치명적인 단점이 많았다.

첫째, 해설이 여러 줄에 걸칠 수 없었다. 반복되는 후렴구나 훅처럼 여러 줄에 걸친 의미 단위에 해설을 달고 싶어도, 각 줄마다 같은 해설을 복사해서 붙이는 방식밖에 없었다.
둘째, 반복 가사에는 같은 번역을 계속 다시 입력해야 했다. Hook이나 Chorus처럼 같은 가사가 반복될 경우에도 각 줄마다 번역을 따로 입력해야 했고, 수정이 생기면 모든 줄을 일일이 고쳐야 했다.
셋째, 실제로는 의미 없는 줄 객체들이 대량으로 생성됐다. Bubble에서는 가사를 로컬에 저장하기 위해 각 줄을 객체로 만들어야 했는데, 대부분은 API에서 받아온 원문을 저장하는 것에 불과했다. 수정 가능성도 없고 추가 정보도 없는 죽은 데이터가 DB에 쌓이기 시작했다.
넷째, 서버 자원 사용량도 문제였다. 줄마다 객체를 생성하거나 수정하려면 Bubble의 schedule API on a list 기능을 사용해야 했는데, 이 기능은 Bubble에서 서버 사용량이 큰 작업 중 하나다. 가사 한 곡은 보통 30~60줄이고, 여기에 번역과 해설까지 붙으면 곡 하나를 처리하는 데 필요한 작업량이 불필요하게 커졌다.
새로운 가사 데이터 모델
새 구조의 핵심은 간단했다. 원문 가사는 필요할 때만 저장한다.
원문 가사는 Spotify API 등에서 실시간으로 불러오고, API에서 가사를 불러올 수 없을 경우에만 예외적으로 저장하도록 설계했다. 저장할 때도 여러 개의 line 객체를 만드는 것이 아니라, 전체 가사를 하나의 여러 줄 텍스트 필드로 저장한다.
구조도 line 중심에서 track 중심으로 바꿨다.
각 트랙은 고유한 Spotify Track ID를 갖는다. 가사 데이터는 track_lyrics 객체 하나로 관리하고, 여러 트랙이 같은 가사를 공유할 수 있도록 track_lyrics와 track의 관계를 설계했다. 같은 곡이어도 싱글 선공개 버전인지, 정규 앨범 수록 버전인지에 따라 객체가 달라지는 경우가 있어서 이 구조가 필요했다.
번역도 객체 리스트가 아니라 단일 텍스트 필드로 바꿨다. 전체 번역을 줄바꿈으로 구분한 하나의 텍스트로 저장하고, 표시할 때는 클라이언트에서 split해서 각 줄에 맞게 배치한다.
이렇게 바꾸니 객체 수, 저장 공간, 수정 복잡도가 모두 줄었다. 번역을 수정할 때도 수십 개의 line 객체를 수정하는 것이 아니라 텍스트 필드 하나만 수정하면 된다.
대략적으로 Bubble에서 객체 생성은 속성 수정에 비해 24배 정도 느리다. 가사 한 곡이 보통 3060줄이라는 점을 고려하면, 기존 구조 대비 작업량은 약 60배에서 240배 이상 줄어든 셈이다.
이 개선은 숫자로만 그치지 않았다. 실제로 서버 로드가 눈에 띄게 줄었고, 로딩 시간도 개선됐다.
여러 줄 해설과 수정 이력
해설은 별도의 Annotation 객체로 분리했다.
이제 해설은 한 줄에만 붙는 것이 아니라 여러 line index를 참조할 수 있다. 덕분에 반복되는 훅이나 후렴에도 해설을 하나만 달아둘 수 있게 됐다.
해설 본문은 Annotation Revision을 통해 수정과 이력 관리가 가능하도록 설계했다. 음악 해석은 계속 고쳐지고 다듬어질 수 있어야 하기 때문에, 위키 스타일의 수정 구조가 디깅 뮤직의 방향성과도 더 잘 맞았다.
백엔드 중심 설계로 전환
데이터 처리의 많은 부분도 백엔드 워크플로우로 옮겼다.
너무 많은 로직이 사용자 인터페이스 쪽에서 돌아가면 페이지가 느려진다. 무거운 데이터 처리를 백엔드로 옮기면서, UI는 더 가볍고 반응성이 좋아졌다.
구조적으로도 유지보수가 쉬워졌다. UI는 상호작용을 담당하고, 백엔드는 무거운 데이터 처리를 담당하는 식으로 역할이 더 분명해졌다.
기존 데이터 전면 정리: 25,000줄 마이그레이션
구조를 바꾸는 것만으로 끝나는 건 아니었다. 기존 데이터도 새 구조에 맞게 전부 옮겨야 했다.
당시 Bubble DB에는 총 25,000개가 넘는 가사 line 객체가 저장되어 있었다. 곡 수로는 약 1,800곡 분량이었다.
마이그레이션 설계 자체가 엄청 어렵지는 않았다. 다만 규모 때문에 시간이 걸렸다. Bubble에서는 동시에 돌릴 수 있는 워크플로우 수에 제한이 있어서, 보통 널널하게 시간 간격을 두고 실행하는 편이다.
곡당 60초, 가사 한 줄당 2초 정도로 설정해두고 돌리니, 25,000개의 객체를 처리하는 데 약 10시간이 걸린다는 계산이 나왔다.
그래서 마이그레이션 워크플로우를 돌려두고 그냥 잠들었다.
아침에 확인해보니 워크플로우가 멈추지 않고 잘 돌아갔고, 모든 데이터가 새로운 구조로 깔끔하게 변환되어 있었다. Bubble 상에서 큰 오류 없이 대량 데이터를 안정적으로 처리할 수 있었던 점도 꽤 인상 깊었다.
이번 업데이트에서 배운 것
이번 업데이트를 하면서 제품 개선과 DB 설계는 분리된 문제가 아니라는 걸 느꼈다.
좋은 메인 화면은 사용자가 탐색하는 방식을 바꾼다. 좋은 커뮤니티 구조는 음악 문화를 분류하는 방식을 바꾼다. 좋은 헤더는 사용자가 움직이는 속도를 바꾼다. 좋은 DB 구조는 어떤 편집 경험이 가능한지를 바꾼다.
DB는 단순한 저장소가 아니다. 제품의 형태를 결정한다.
line 객체 중심 구조에서 track 중심 가사 모델로 바꾸면서, 디깅 뮤직은 더 가볍고 빠르고, 원래 목표에 가까운 서비스가 됐다. 가사, 해석, 리뷰, 커뮤니티가 자연스럽게 연결되는 종합 음악 플랫폼에 조금 더 가까워진 업데이트였다.