노동요 1시간 반복 검색은 이제 그만: Chrome 확장 프로그램 YouTube Loop 개발기
코딩과 작업 몰입을 깨뜨리던 유튜브 연속 재생의 불편함(우클릭 2번, 새로고침 시 초기화, 시각적 피드백 부재)을 해결하기 위해 직접 만든 무의존성·로컬 프라이버시 Chrome 확장 프로그램 YouTube Loop의 개발 이야기입니다.

유튜브에서 일하거나 공부할 때 노래 하나를 계속 들으려고 '1시간 반복', '10시간 연속재생'을 검색해 본 적 있으신가요?
우리가 코딩, 글쓰기, 공부 등 깊은 몰입(Flow) 상태에 들어가기 위해 가장 자주 찾는 동반자는 바로 유튜브의 노동요(BGM)와 로파이(Lo-Fi) 음악입니다. 마음에 쏙 드는 한 곡을 찾아 무한 반복으로 틀어두고 뇌를 집중 모드로 전환하고 싶을 때가 많습니다.
하지만 순정 유튜브 환경에서 마음에 드는 단 한 곡을 편안하게 반복해서 듣기란 생각보다 번거롭고 번잡합니다.
1. 유튜브 순정 '연속 재생'의 사소하지만 잦은 3가지 결핍
유튜브 플레이어에는 영상 위를 우클릭하면 나오는 '연속 재생' 기능이 분명히 존재합니다. 하지만 실제로 코딩이나 작업을 하며 데일리로 써보면 매번 집중의 맥이 끊기는 사소하지만 치명적인 불편함을 마주하게 됩니다.
- 우클릭을 두 번씩 눌러야 하는 번거로움
영상 위에 마우스를 올리고 우클릭을 하면, 영상 오버레이나 광고 요소 때문에 브라우저 기본 컨텍스트 메뉴가 먼저 떠서 유튜브 순정 메뉴를 열기 위해 두 번씩 클릭해야 합니다. - 새로고침하면 날아가는 세션 휘발성
기껏 연속 재생을 켜두었더라도, 브라우저 탭을 새로고침하거나 브라우저를 껐다 켜면 설정이 깨끗하게 초기화됩니다. 다음 날 아침 다시 그 노동요를 틀 때마다 매번 수동으로 우클릭을 반복해야 합니다. - 지금 반복 재생 중인지 알 수 없는 시각적 피드백 부재
지금 듣고 있는 곡이 끝나면 다음 추천 영상으로 넘어가버릴지, 아니면 다시 처음부터 반복될지 플레이어 화면 어디에서도 직관적으로 확인할 수 없습니다. 결국 영상이 끝날 무렵 불안하게 컨트롤 바를 확인하게 됩니다.
결국 많은 사람들이 유튜브 검색창에 '노래제목 + 1시간 반복' 을 검색하거나, 억지로 재생목록을 만들어 1개 곡만 집어넣는 식의 비효율적인 우회로를 찾게 됩니다.
이 비효율을 없애고 작업 몰입의 흐름을 지키기 위해, 플레이어 컨트롤 바에 일체형 버튼을 심고 설정을 스스로 기억하는 Chrome 확장 프로그램, YouTube Loop 를 직접 제작했습니다.
2. YouTube Loop의 핵심 기능
YouTube Loop는 복잡한 설정창이나 무거운 팝업창을 완전히 배제하고, 순정 유튜브 플레이어의 일부처럼 자연스럽게 녹아들도록 설계되었습니다.
① 플레이어 순정 컨트롤 바 통합
별도의 확장 프로그램 팝업을 열 필요가 없습니다. 유튜브 플레이어 우측 하단 컨트롤 바(자막, 설정 버튼 옆)에 일체형 루프(↻) 버튼이 자리합니다. 클릭 한 번으로 루프 모드를 즉시 켜고 끌 수 있으며, 활성화 상태가 시각적으로 또렷하게 표시됩니다.
② 영상별 설정 자동 기억 (Video ID 메모리)
반복을 활성화한 특정 영상의 Video ID만 똑똑하게 기억합니다.
- 노동요 영상에서 루프를 켜두면 브라우저를 닫거나 새로고침해도 루프가 유지됩니다.
- 다른 일반 유튜브 영상이나 뉴스로 이동하면 자동으로 일반 재생 모드로 동작합니다.
- 나중에 다시 그 노동요 링크로 돌아오면, 기억해 둔 설정을 감지하여 자동으로 루프가 복원됩니다.
③ 무버퍼링 네이티브 루프 (Native Loop)
자바스크립트로 영상을 억지로 되감거나 페이지를 리로드하는 방식이 아닙니다. 브라우저의 HTMLVideoElement.loop 기본 네이티브 속성을 직접 제어하므로, 곡이 끝난 뒤 다음 반복으로 넘어갈 때 끊김이나 버퍼링, 재로딩 지연 없이 물 흐르듯 매끄럽게 연결됩니다.
3. 타협 없는 기술 원칙: 무의존성과 프라이버시 100%
도구는 사용자의 주의를 훔치지 않아야 하며, 브라우저를 무겁게 만들어서는 안 됩니다. YouTube Loop는 터틀 프로젝트의 미니멀리즘과 지속 가능성 철학에 맞춰 아래의 엄격한 기술 원칙으로 개발되었습니다.
- 외부 라이브러리 및 런타임 의존성 제로 (0KB Zero Dependency)
React, Vue, 번들러 등 외부 라이브러리를 일체 사용하지 않고, 오직 브라우저 순수 Vanilla JS와 경량 CSS만으로 Manifest V3 표준 규격을 완벽하게 충족했습니다. - 외부 서버 통신 제로 & 100% 로컬 프라이버시
구글 애널리틱스, 믹스패널 등 외부 트래킹이나 분석 스크립트가 단 한 줄도 없습니다. 어떤 사용자 데이터도 외부 서버로 전송되지 않으며, 사용자가 기억하도록 지정한 영상 ID 목록은 전적으로 본인의 브라우저 로컬 저장소(chrome.storage.local)에만 안전하게 보관됩니다. - 최소 권한 원칙
불필요한 브라우징 기록이나 탭 접근 권한을 일체 요구하지 않습니다. 오직 설정을 저장하기 위한storage권한과https://www.youtube.com/*호스트 권한 단 두 개만 사용합니다. - 유튜브 특유의 SPA 및 광고 완벽 예외 처리
유튜브의 단일 페이지 애플리케이션(SPA) 페이지 이동 이벤트(yt-navigate-finish)를 감지하여 탭 새로고침 없이도 버튼을 즉각 유지하며, 인스트림 광고 재생 중에는 루프 속성을 일시 중지했다가 본 영상 시작 시 자동 복원하는 디테일한 안정성 처리가 적용되어 있습니다.
4. 작은 구조가 삶의 집중력을 지킨다
터틀 프로젝트의 핵심 명제는 "성공은 의지가 아니라 구조다" 입니다.
작업에 깊이 몰입하려 할 때마다 '1시간 반복'을 검색하거나, 우클릭을 두 번씩 누르며 에너지를 낭비하는 것은 사소해 보이지만 우리의 전두엽 집중 자원을 갉아먹는 마찰력입니다. 사소한 마찰력을 제거하는 단단한 도구 하나가 하루의 집중 리듬과 생산성을 온전히 지켜냅니다.
Chrome 웹스토어 공식 심사를 통과하여 누구나 무료로 설치해 사용하실 수 있습니다. 일할 때 같은 노래를 반복해서 들으며 몰입하는 것을 좋아하시는 모든 분들께 유용한 도구가 되길 바랍니다.
작업 몰입을 깨지 않는 가장 단순한 방법
매번 1시간 반복 영상을 찾거나 우클릭할 필요 없이, 크롬 확장 프로그램 YouTube Loop를 무료로 설치해 보세요.
Chrome 웹스토어에서 무료 설치하기