본문으로 건너뛰기
rootnine
프로젝트

RESCENE ARCHIVE

서비스 중

여러 플랫폼에 흩어진 공식 콘텐츠를 한 타임라인으로

웹 서비스 + 관리자 + 모바일 앱 · 2026 — 현재

개요

YouTube · TikTok · Instagram · X에 흩어진 공식 콘텐츠를 한 곳에서 시간순으로 볼 수 있게 모아주는 아카이브 서비스입니다. 타임라인, 멤버별 페이지, 일정 캘린더, 검색, 사용자 컬렉션을 제공합니다.

제품 원칙을 코드로 지켰습니다. 원본을 재호스팅하지 않고 링크·oEmbed 우선으로 저장을 최소화하고, 확인되지 않은 루머성 콘텐츠는 노출하지 않으며, 로그인 없이 열람할 수 있고 개인화가 필요한 시점에만 인증을 요구합니다. 다크패턴 없이 동의를 세분화하고 만 14세 미만 가입은 차단합니다.

공개 웹, 별도 도메인의 관리자 백오피스, 그리고 모바일 앱 세 개의 표면을 하나의 모노레포에서 운영합니다. 7개 언어를 지원합니다.

기술적으로 공들인 지점

Document Picture-in-Picture 플레이어

YouTube 153 에러를 우회하기 위해 about:blank 대신 동일 출처 라우트를 PiP 창에 띄우는 미니 앱을 직접 만들었습니다. 재생 상태를 넘겨 창을 닫아도 이어보기가 됩니다.

이름 충돌을 설계로 막기

SQL 리소스를 전용 스키마로 격리하고, 전역 네임스페이스인 스케줄 작업 · 스토리지 버킷에는 접두어 규칙을 강제했습니다. 규칙을 문서로 못박아 두어 새 리소스를 추가할 때 판단이 필요 없습니다.

프로덕션 보안 헤더

개발 HMR을 깨지 않는 프로덕션 전용 CSP와 HSTS preload, 임베드 도메인 허용 목록, OAuth 3개 프로바이더로 한정한 form-action, 카메라·마이크·위치를 끈 Permissions-Policy를 적용했습니다.

운영자를 위한 도구

단순 CRUD가 아니라 승인 큐, 수집 소스 레지스트리, 감사 로그, 접근 로그까지 갖춘 거버넌스 레이어를 만들었습니다.

한 토큰 아키텍처, 두 플랫폼 테마

Aurora 팔레트를 웹은 CSS 커스텀 프로퍼티, 모바일은 타입이 있는 상수로 같은 패키지에서 배포합니다. 모바일은 라이트 글래스 변형을 따로 둡니다.