10P by GN⁺ 6일전 | ★ favorite | 댓글 1개
  • 사진, 동영상, 메시지, 위치 기록, 소셜미디어 콘텐츠, 연락처 등 모든 개인 데이터를 한데 모아 시간순으로 정리하는 로컬 타임라인 아카이브 툴
  • Google Takeout, iCloud, Facebook, Twitter/X, Strava, Instagram 등 다양한 서비스의 데이터를 불러와 SQLite 기반 데이터베이스로 자동 정리
  • 지도·3D 뷰·대화 통합 뷰·엔티티 인식 등 시각적 탐색 기능을 제공하며, 메시지·사진·위치 등 서로 다른 데이터 간의 관계를 연결해 보여줌
  • 모든 데이터는 클라우드 대신 개인 PC에 저장되어 외부 유출 위험이 없으며, 원본 파일을 그대로 탐색 가능
  • 개인의 삶을 시각적으로 재구성하고, 가족 간 데이터 공유나 디지털 유산 보존 등으로 확장할 수 있는 디지털 자기연대기 프로젝트

개요

  • Timelinize는 개인의 다양한 디지털 흔적을 하나의 통합된 타임라인으로 구성하는 로컬 데이터 통합 툴
  • 사진, 영상, 대화, 소셜미디어, 위치 기록, 연락처 등을 수집해 시간·공간·사람을 중심으로 재구성함
  • 나와 가족의 일상을 세밀하게 기록하고, 기존 사진 라이브러리나 일기 앱보다 더 완전하고 깊이 있는 스토리 탐색이 가능
  • 브라우저에서 동작하며, 오프라인에서도 접근 가능한 형태로 작동
  • 기존에 사용하던 각종 앱과 서비스를 대체하지 않고, 사용자가 작업하는 모든 데이터의 영구적이고 개인적인 백업본을 마련
  • Timelinize는 기존의 사용 환경 ‘뒤에서’ 동작하며, 사용자의 삶을 방해하지 않는 백그라운드 아카이브 역할을 수행

주요 기능

  • 다양한 데이터 소스 지원
    • Google Takeout, Apple iCloud, Facebook, Instagram, Twitter/X, Strava 등 GDPR 데이터 내보내기 형식을 직접 불러옴
    • .zip이나 .tar 압축을 풀지 않아도 자동 인식 후 정리
  • 시각적 탐색 인터페이스
    • 타임라인 뷰: 날짜별로 모든 데이터 항목을 통합 표시
    • 3D 지도 뷰: 위치 데이터에 기반해 시간의 흐름에 따라 이동 경로 시각화
    • 버블 차트: 하루 중 시간대별로 가장 많이 남긴 데이터 유형 분석
  • 엔티티 기반 데이터 구조
    • 사람·동물·기관 등 개체를 중심으로 데이터 관계를 정리
    • 동일 인물이나 단체를 자동 인식하고 필요시 수동 병합 가능
  • 대화 통합
    • 서로 다른 플랫폼의 메시지를 하나의 Conversations 뷰에서 연계
    • Facebook Messenger와 SMS 메시지를 하나로 묶어 대화 맥락 복원
  • 갤러리 통합
    • 사진 라이브러리 외에도 메시지나 SNS 업로드 이미지, 밈 등을 함께 표시
    • 다양한 필터로 매체별·주제별 탐색 지원

구조와 동작 원리

  • 데이터는 로컬 디스크에 날짜별 폴더 구조로 정리되며, 메타데이터는 SQLite DB에 저장됨
  • HTTP API와 CLI를 대칭적으로 제공, 동일한 명령을 웹·커맨드라인 양쪽에서 실행 가능
  • JSON 기반 스키마로 명령 인자와 HTTP 폼 필드를 자동 변환
  • Dev Container 환경 제공으로 Docker 기반 개발 환경 구성 가능

프로젝트 철학과 비전

  • 프로젝트의 핵심 목표는 개인 데이터의 자율적 보존과 해방
    • 중앙집중형 클라우드 서비스가 사라질 위험에 대비해 데이터를 개인이 직접 관리하도록 설계
    • 개인의 삶을 정량화된 형태로 시각화해 디지털 자서전·가족 역사 기록으로 발전 가능
  • 장기적으로는 개인별 타임라인을 병합하여 ‘인류 전체의 타임라인’ 을 구성할 수 있다는 이상을 제시

개발 및 설치

  • 리눅스/맥/윈도우 각 플랫폼별 최신 릴리스 다운로드 가능
  • VSCode + Docker 환경에서 Dev Container로 개발 가능
  • 프로젝트는 AGPL 라이선스로 배포되어, 상업적 재가공을 제한함

프로젝트 역사

  • 2013년 개인 프로젝트 ‘Photobak’으로 시작해 Google Photos, Facebook, Twitter 백업 툴로 확장됨
  • 이후 다인 지원, 위치 데이터 통합 등으로 진화하여 현재의 Timelinize 형태로 발전함
  • 창작자는 Caddy 서버의 개발자이기도 하며, 개인 데이터 주권을 위한 장기적 실험으로 이 프로젝트를 진행 중임
Hacker News 의견
  • 훌륭한 서비스라고 생각함, 하지만 나는 이것이 훨씬 더 확장되어서 Nextcloud와 Zotero까지 대체할 수 있기를 바람, 내가 추가하거나 열거나 수정한 모든 문서와 책, 내가 작성하는 모든 노트, 그리고 내가 열어본 브라우저 탭, 복사/붙여넣기, 심지어 키 입력까지 기록해서, "2주 전 오늘 내가 뭘 했지?" 같은 질문에 바로 답해주는 기능이 필요함, 이 모든 것은 검색 가능해야 하고, 반드시 셀프호스팅이어야 하며, 감시 소프트웨어로 만들려는 목적은 아님, Obsidian에 수동 링크 시스템을 사용하는 사람들을 보면 시간이라는 관점이 더 중요하다고 생각하게 됨, 만약 내가 오늘 위키피디아에서 무언가를 검색하면 이 시점에 비슷한 정보도 찾거나 관련된 일을 할 확률이 크다는 점에서 큰 의미가 있음

    • Microsoft가 예전에 내가 무슨 작업을 하고 있었는지 Recall하는 데 도움이 되는 제품이 있었던 것으로 기억함

    • 정확히 주소를 찾지 못했지만, 모든 오브젝트가 순전히 시간 기반으로 존재하고, 그 외에는 필터로만 접근하는 컴퓨팅 시스템 아이디어를 누군가 냈던 것이 떠오름, 다시 찾아보고 싶음

    • Nextcloud, Zotero 대체 및 모든 노트 저장, 브라우저 탭, 클립보드, 키입력까지 기록하는 부분까지는 장기적으로 정말 유용할 것 같음, 다만 브라우저 탭, 키 입력 등까지는 너무 디테일하다고 느낌, 그 정도까지는 필요하지 않지만, 데이터로 자신의 삶을 기록하고 이해하는 시도가 필요하다고 보며, 이 앱도 그런 문제의식에서 출발한 것임

  • mholt는 웹서버 Caddy를 만든 사람으로 유명해서, Timelineize에 대한 흥미가 더 커짐

  • 지난 10년간 정확히 이런 제품이 필요해서 2~3분마다 GPS 데이터를 기록해옴, 굉장히 흥미롭게 느껴짐

    • 어떻게 GPS 기록을 해오고 있는지 궁금함
  • Timelinize는 entity-aware 시스템이라 좌표 데이터가 없더라도 엔티티별로 시간상 비슷한 정보들을 지도에 표시할 수 있음, Google이 Android/Chrome/Gmail/Maps/Timeline을 기반으로 얼마나 많은 나의 데이터를 결합할 수 있을지 실감하게 됨, 기상 데이터를 실제로 어떻게 활용할 예정인지 궁금함, 예를 들어 위치가 있는 엔티티와 과거 날씨 데이터 연동을 고려하고 있는지 질문함

    • 맞음, 그런 식으로 사용할 예정임, 기상/뉴스 등 공공데이터를 추가로 연동해서 타임라인에 문맥을 더할 수 있음
  • 정말 멋진 아이디어라고 생각하지만 데이터를 추가할 때마다 Google Takeout을 실행해야 한다면 너무 번거로움, 실시간 업데이트가 된다면 진짜 킬러앱이 될 것 같은데 아쉬움
    Google 포토 데이터 소스 문서

    • 정말 큰 걸림돌임, 크롬 헤드리스로 자동화하려고 시도했지만 실제로는 10분마다 물리적으로 인증을 해야 해서 사실상 자동화가 불가능함, 일반적으로는 1년에 한두 번 Takeout을 하며, Timelinize를 사용하지 않더라도 데이터를 백업하는 목적으로 해두는 것이 좋다고 생각함
  • 이 서비스에 굉장히 관심이 많음, (그리고 Caddy에도 감사함)
    데이터 업데이트/수정은 어떻게 처리하는지 궁금함, 반구조화된 데이터를 가져와서 예를 들어 "jog" 이벤트가 "light run"과 "intense walk"로 세분화되고 예전 데이터까지 역적용되는 상황에서는 데이터를 중복 가져와야 함, FAQ에서는 additive import만 언급되어 있는데, 데이터 구조가 계속 변하는 상황에서 SQL 업데이트로 고생하고 싶지 않아 지금은 plain text와 git으로 버전관리 중임, 이렇게 하면 개인이 시간여행 하듯 데이터 변화를 따라갈 수 있어서 좋음

    • Caddy를 좋아해줘서 고마움,
      고급 가져오기 옵션에서 아이템의 고유성 및 중복 판단을 지정할 수 있음, 중복 처리 방식도 직접 선택 가능함, 기본적으로 중복은 스킵하지만 업데이트도 할 수 있고, 어느 값을 우선할지 지정할 수 있음, 다만 업데이트는 UPDATE 쿼리이므로 되돌릴 수 없음, 순수하게 additive한 스키마도 실험해봤지만 복잡성과 오류 위험, 느려진 탐색 성능 등 현실적으로 어려웠음, 하지만 타임라인을 시간 단위로 변형 따라 돌아가볼 수 있다는 점에서 가능성을 두고 고민 중임
  • 이 서비스는 금융기록(예: 은행 데이터) 및 로컬 LLM과 결합하면 완벽할 듯함,
    정확히 어떻게 활용할지는 모르겠지만 메시지 기록, 위치 정보 등을 바탕으로 카드 결제 내역을 분석해 예산에 분류하고 다양한 통계를 보여줄 수 있음,
    Tesla 등 클라우드 차량이 있다면 출장/개인 이동거리, 경비 등을 자동 분류해서 세무 목적으로도 도움이 될 수 있음,
    아직 해보지 않은 로컬 경험 추천, 시간 관리에도 유용할 듯함

    • ledger.txt(plaintextaccounting.org), g-cal 통합, Home Assistant가 모두 서로 비슷하게 모여 있음

    • 나도 이런 얘기를 정말 자주 듣고, 금융정보와 LLM 통합에 큰 기대가 있음, 정말 흥미롭고 유용하며 개인 데이터 보호 측면에서도 개인 비서로 쓸만하다고 생각함

  • 프로젝트가 멋짐, timelinize 라는 이름이 마음에 안 든다면 라틴어 이름도 고민해보았는지 궁금함, 예를 들어 Temperi 같은 후보도 있음
    그리고 GPS, 사진, 텍스트 등 다양한 데이터를 갖고 있는 FindPenguins 지원도 있었으면 좋겠음

    • 라틴어 이름도 여러 번 제안받았으나, 대부분 철자가 어렵고 발음도 힘들어서 별로 의미있는 개선이 아니었음, FindPenguins도 좋은 서비스라고 생각함, 본인은 사용하지 않지만 누구든 데이터 소스를 직접 구현해 추가할 수 있음
  • 최근 위치 기록 툴이 점점 더 폐쇄적으로 변하는 것에 답답함을 느꼈는데, 이 프로젝트는 데이터에 대한 진짜 소유권을 되찾는 데 중요한 진전이라고 생각함, 꼭 써볼 예정임

    • 공감함, 나도 같은 생각임
  • 정말 멋져 보이고 내가 무의식적으로 원해왔던 서비스 같음,
    몇 가지 아이디어가 있음

  • 개인정보 민감성이 높으니 될 수 있으면 집에서 Wireguard나 Tailscale 같은 VPN 뒤에 직접 셀프호스팅해야 하고, Ente.io처럼 E2E 암호화된 애플리케이션이었으면 함

  • 인덱스와 저장 백엔드를 분리해서 사진 등은 이미 있는 곳(Immich, Ente.io 등)에 두고 중복저장을 막을 수 있으면 좋겠음, Timelinize가 모든 유형의 데이터를 다 대체할 수는 없으니 각 데이터를 가장 잘 다루는 전문 앱과 병행하고 싶음

  • Polarsteps 여행 이력 임포트, Signal 백업도 지원되면 훨씬 좋겠음
    Signal 백업 도구 깃허브

    • 좋은 질문 및 코멘트 고마움
    • 집에 있는 개인 컴퓨터에서 운영하는 모델이 맞음
    • 외부에서 호스팅할 경우 실제 하드웨어 소유자가 언제든 물리적 접근을 할 수 있으니 진정한 개인정보 보호는 어렵다고 생각함, 실시간 암호화 DB 같은 것도 고려해봤지만 처리 과정에서 어차피 복호화가 필요해서 논리적으로 불가능하거나 엄청 번거롭고 취약함, 내가 틀렸을 수도 있지만 실질적인 대안이 없는 것 같음
    • 데이터 중복에 대해선 의도적으로 데이터를 이 타임라인 내에 복제해 넣는 게 목적임, 백업 역할도 겸하고 일관성과 신뢰성, 가용성을 보장함, PhotoStructure 등 타 앱은 인덱싱만 하지 데이터 사본을 만들진 않음, Timelinize가 이 방식을 강제하기는 어려움
    • Polarsteps/Signal 포함해서 다양한 데이터 소스를 지원하고 싶음, Signal 데이터는 형식이 자주 바뀌고 암호화도 되어있어서 신뢰성 있게 임포트하기가 어려웠음, 하지만 누구든 새로운 소스를 직접 추가할 수 있고 앞으로는 임포트 API도 준비할 예정임, 외부 스크립트나 앱에서 Timelinize로 데이터 푸시도 가능하게 할 생각임
    • 궁극적으로 Timelinize의 목적이 데이터를 실질적으로 확보하는 것이므로, 어느 정도의 데이터 중복은 감수할 만하다고 생각함, 저장공간도 갈수록 싸지고, 비싸다고 해도 그만한 가치가 있음