[💧 Rejourney v2.4] - 웹 및 모바일 앱을 위한 가장 가볍고 성능이 뛰어난 세션 리플레이 (Session Replay)
요약
Rejourney v2.4는 웹 및 모바일 앱을 위한 경량화된 고성능 세션 리플레이 도구로, 기존 도구들이 처리하지 못하는 Mapbox 지도 데이터와 React Native 환경을 효과적으로 지원합니다. 리플레이를 단순 비디오가 아닌 구조화된 데이터로 취급하여 정교한 필터링과 분석을 제공하며, 오픈 소스로 공개되어 셀프 호스팅이 가능합니다.
핵심 포인트
- 세션 리플레이를 구조화된 데이터로 처리하여 행과 열 기반의 강력한 필터링 및 분석 기능 제공
- Mapbox와 같은 복잡한 지도 라이브러리 사용 시 발생하는 미세 끊김(micro stutter) 문제를 해결하는 독자적인 알고리즘 보유
- React Native, JS, Swift SDK를 지원하며 매우 간편한 통합 프로세스 제공
- 오픈 소스 기반의 완전한 셀프 호스팅 지원 및 기능 제한 없는 무료 제공
Rejourney는 저와 제 동기들이 University of Texas 학생들을 대상으로 하는 인기 캠퍼스 앱을 위해 직접 만든 내부 도구로 시작되었습니다. 저희는 방대한 양의 세션 (sessions)을 처리해야 했고, 리플레이 저장, 필터링 및 분석 (analytics)에 대해 완전한 제어권을 원했습니다. Clarity가 세션 리플레이를 구조화되고 쿼리가 가능한 (queryable) 데이터가 아닌 비디오처럼 취급하는 방식이 마음에 들지 않았기 때문입니다. 또한 저희 앱은 주로 Mapbox를 사용했는데, 모든 세션 리플레이 도구들이 RN iOS 및 RN Android 모두에서 이를 매우 제대로 처리하지 못했습니다.
한 달 동안 내부적으로 사용한 후, 저희는 2026년 3월에 React Native를 중심으로 GitHub에 오픈 소스로 공개하기로 결정했습니다. 그 이후로 브라우저 (JS) 및 Swift SDK로 확장하였으며, 두 가지 모두 현재 오픈 베타 (open beta) 상태입니다.
출시 이후, Rejourney는 전 세계 앱에서 이미 160만 개 이상의 세션 리플레이를 처리했습니다 (저희가 호스팅하는 사용자만 집계).
저희의 주요 목표 중 하나는 모든 일반적인 플랫폼에 대한 단순함과, 풍부하면서도 이해하기 쉬운 분석 (analytics) 대시보드를 제공하는 것이었습니다. 이것이 현재 저희 사용자들이 Plausible와 같은 다른 웹 전용 경량 플랫폼 대신 저희를 선택하는 이유입니다.
통합 (Integration)은 React Native의 경우 단 3줄이면 충분하며, 다른 SDK의 경우에도 몇 줄만 더 추가하면 됩니다.
저희는 대시보드에 표(table) 형태의 세션 리플레이 페이지를 채택하여, 행과 열로 필터링할 수 있고 사용자 여정 (user journey)에서 리본을 선택하여 절 (clauses)을 만들 수도 있습니다. 저희는 리플레이를 구조화된 데이터 (structured data)로 취급하므로, 사용자가 (MS Clarity 대시보드에서 발생하는 일처럼) 선택한 단일 필터에 따라 하나씩 일일이 확인하며 시청할 필요가 없습니다.
단순히 성능이 더 뛰어난 것을 넘어, 저희는 다른 어떤 제공업체도 해내지 못한 몇 가지 독특한 엔지니어링 성과를 보유하고 있습니다. 예를 들어, Rejourney가 내부 도구였을 당시, 이는 Mapbox를 헤비하게 사용하는 앱을 위한 것이었습니다. 그래서 Clarity의 경우 지도를 전혀 기록하지 못했음에도 불구하고, 저희는 많은 마이크로 스터터 (micro stutter, 미세 끊김) 문제를 겪었습니다. 이에 저희는 ProMotion 디스플레이에서의 끊김을 방지하기 위해 지도가 유휴 (idle) 상태일 때 프레임을 캡처하는 새로운 휴리스틱 알고리즘 (heuristic algorithm)을 도입했습니다. 이에 대한 자세한 내용과 Swift 및 Kotlin API 인터페이스를 통해 이를 어떻게 구현했는지는 여기에서 읽어보실 수 있습니다.
또한, 저희의 셀프 호스팅 (self-hosting)은 문서를 통해 매우 쉽게 진행할 수 있으며, 단일 Docker 파일로 셀프 호스팅을 선택하거나 저희의 실제 호스팅 플랫폼과 완전히 동일한 K3s 설정을 채택할 수 있습니다. 셀프 호스팅 버전에는 호스팅 버전에서 제공되는 기능이 단 하나도 누락되지 않았습니다. 저희는 셀프 호스팅 버전을 약화시키지 않으며, 영구적으로 무료로 제공할 것입니다 (사용자당 비용을 부과하는 엔터프라이즈 방식이 아닙니다). 모든 것은 저희의 거대하고 강력한 모노레포 (monorepo)를 통해 오픈 소스로 제공됩니다.
Repo: https://github.com/rejourneyco/rejourney
Benchmarks: https://github.com/rejourneyco/rejourney#benchmarks
AI 자동 생성 콘텐츠
본 콘텐츠는 r/SelfHosted (AI filter)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기