13 poin oleh GN⁺ 2025-10-08 | 1 komentar | Bagikan ke WhatsApp
  • Alat arsip timeline lokal yang mengumpulkan semua data pribadi seperti foto, video, pesan, riwayat lokasi, konten media sosial, dan kontak, lalu menyusunnya secara kronologis
  • Mengimpor data dari berbagai layanan seperti Google Takeout, iCloud, Facebook, Twitter/X, Strava, dan Instagram, lalu secara otomatis merapikannya ke dalam database berbasis SQLite
  • Menyediakan fitur penjelajahan visual seperti peta, tampilan 3D, tampilan percakapan terintegrasi, dan pengenalan entitas, serta menampilkan keterkaitan antara data yang berbeda seperti pesan, foto, dan lokasi
  • Semua data disimpan di PC pribadi, bukan di cloud, sehingga tidak ada risiko kebocoran ke pihak luar, dan file asli dapat dijelajahi apa adanya
  • Merupakan proyek kronik diri digital yang dapat merekonstruksi kehidupan seseorang secara visual, serta dapat diperluas untuk berbagi data antarkeluarga atau pelestarian warisan digital

Ikhtisar

  • Timelinize adalah alat integrasi data lokal yang menyusun berbagai jejak digital pribadi ke dalam satu timeline terpadu
  • Mengumpulkan foto, video, percakapan, media sosial, riwayat lokasi, dan kontak, lalu menyusunnya kembali dengan berfokus pada waktu, tempat, dan orang
  • Dapat mencatat keseharian saya dan keluarga secara rinci, serta memungkinkan penelusuran cerita yang lebih lengkap dan mendalam dibanding library foto atau aplikasi jurnal biasa
  • Berjalan di browser dan tetap dapat diakses secara offline
  • Tidak menggantikan berbagai aplikasi dan layanan yang sudah digunakan, melainkan menyiapkan salinan cadangan permanen dan pribadi untuk semua data yang dikerjakan pengguna
  • Timelinize bekerja di balik lingkungan penggunaan yang ada, berperan sebagai arsip latar belakang yang tidak mengganggu kehidupan pengguna

Fitur utama

  • Mendukung beragam sumber data
    • Langsung mengimpor format ekspor data GDPR dari Google Takeout, Apple iCloud, Facebook, Instagram, Twitter/X, Strava, dan lainnya
    • Dapat mengenali dan merapikan file .zip atau .tar secara otomatis tanpa perlu diekstrak terlebih dahulu
  • Antarmuka penjelajahan visual
    • Tampilan timeline: menampilkan semua item data secara terpadu berdasarkan tanggal
    • Tampilan peta 3D: memvisualisasikan rute perpindahan berdasarkan data lokasi seiring berjalannya waktu
    • Bubble chart: menganalisis jenis data yang paling sering ditinggalkan pada tiap waktu dalam sehari
  • Struktur data berbasis entitas
    • Menata hubungan data dengan berpusat pada entitas seperti orang, hewan, dan institusi
    • Secara otomatis mengenali orang atau organisasi yang sama, dan memungkinkan penggabungan manual bila diperlukan
  • Integrasi percakapan
    • Menghubungkan pesan dari berbagai platform dalam satu tampilan Conversations
    • Menggabungkan Facebook Messenger dan pesan SMS untuk memulihkan konteks percakapan
  • Integrasi galeri
    • Selain library foto, juga menampilkan gambar yang diunggah di pesan atau SNS, termasuk meme
    • Mendukung penjelajahan berdasarkan media atau topik dengan berbagai filter

Arsitektur dan cara kerja

  • Data disusun di disk lokal dalam struktur folder berdasarkan tanggal, sementara metadata disimpan di database SQLite
  • Menyediakan HTTP API dan CLI secara simetris, sehingga perintah yang sama dapat dijalankan baik lewat web maupun command line
  • Menggunakan skema berbasis JSON untuk mengonversi argumen perintah dan field formulir HTTP secara otomatis
  • Menyediakan lingkungan Dev Container sehingga lingkungan pengembangan berbasis Docker dapat disiapkan

Filosofi dan visi proyek

  • Tujuan utama proyek ini adalah pelestarian dan pembebasan data pribadi secara mandiri
    • Dirancang agar data dapat dikelola langsung oleh individu, sebagai antisipasi terhadap risiko hilangnya layanan cloud terpusat
    • Memvisualisasikan kehidupan pribadi dalam bentuk yang terukur sehingga dapat berkembang menjadi otobiografi digital dan catatan sejarah keluarga
  • Dalam jangka panjang, proyek ini mengajukan gagasan ideal bahwa dengan menggabungkan timeline tiap individu, kita dapat membentuk "timeline seluruh umat manusia"

Pengembangan dan instalasi

  • Rilis terbaru tersedia untuk Linux/macOS/Windows
  • Pengembangan dapat dilakukan dengan Dev Container di lingkungan VSCode + Docker
  • Proyek ini didistribusikan dengan lisensi AGPL, yang membatasi pengolahan ulang untuk tujuan komersial

Sejarah proyek

  • Dimulai pada 2013 sebagai proyek pribadi bernama 'Photobak', lalu berkembang menjadi alat pencadangan untuk Google Photos, Facebook, dan Twitter
  • Setelah itu berevolusi dengan dukungan multi-pengguna, integrasi data lokasi, dan lainnya hingga berkembang menjadi bentuk Timelinize saat ini
  • Kreatornya juga merupakan pengembang server Caddy, dan menjalankan proyek ini sebagai eksperimen jangka panjang untuk kedaulatan data pribadi

1 komentar

 
GN⁺ 2025-10-08
Komentar Hacker News
  • Menurut saya ini layanan yang luar biasa, tetapi saya berharap ini bisa berkembang jauh lebih jauh hingga menggantikan Nextcloud dan Zotero, dengan merekam semua dokumen dan buku yang saya tambahkan, buka, atau ubah, semua catatan yang saya tulis, tab browser yang saya buka, copy/paste, bahkan penekanan tombol, sehingga bisa langsung menjawab pertanyaan seperti, "Apa yang saya lakukan tepat dua minggu lalu hari ini?" Semua ini harus bisa dicari, dan wajib self-hosted, bukan dengan tujuan dijadikan software pengawasan. Saat melihat orang memakai sistem tautan manual di Obsidian, saya jadi merasa perspektif waktu itu lebih penting; kalau hari ini saya mencari sesuatu di Wikipedia, kemungkinan besar pada saat itu saya juga sedang mencari informasi serupa atau mengerjakan hal yang berkaitan, dan itu sangat bermakna.

    • Saya ingat Microsoft dulu punya produk yang membantu me-recall apa yang sedang saya kerjakan.

    • Saya tidak berhasil menemukan alamat persisnya, tetapi saya teringat seseorang pernah mengusulkan ide sistem komputasi di mana semua objek ada murni berdasarkan waktu, dan selain itu hanya diakses lewat filter. Ingin sekali menemukannya lagi.

    • Sampai bagian pengganti Nextcloud, Zotero, menyimpan semua catatan, tab browser, clipboard, bahkan penekanan tombol, menurut saya dalam jangka panjang itu akan sangat berguna. Hanya saja, sampai tab browser dan penekanan tombol terasa terlalu detail. Saya tidak merasa perlu sampai sejauh itu, tetapi saya memang melihat perlunya upaya merekam dan memahami hidup sendiri lewat data, dan aplikasi ini juga berangkat dari kesadaran akan masalah itu.

  • mholt terkenal sebagai pembuat web server Caddy, jadi minat saya pada Timelinize jadi makin besar.

  • Selama 10 tahun terakhir saya memang membutuhkan produk persis seperti ini, jadi saya sudah merekam data GPS setiap 2~3 menit. Rasanya sangat menarik.

    • Penasaran bagaimana Anda merekam riwayat GPS itu.
  • Timelinize adalah sistem yang entity-aware, jadi meskipun tidak ada data koordinat, informasi yang mirip secara waktu per entitas tetap bisa ditampilkan di peta. Ini membuat saya sadar betapa banyak data saya yang bisa digabungkan Google berdasarkan Android/Chrome/Gmail/Maps/Timeline. Saya penasaran bagaimana tepatnya data cuaca akan dipakai; misalnya, apakah ada rencana mengaitkan entitas yang punya lokasi dengan data cuaca historis?

    • Betul, rencananya akan dipakai seperti itu. Data publik seperti cuaca/berita bisa ditambahkan untuk memberi konteks lebih pada timeline.
  • Menurut saya ini ide yang sangat keren, tetapi kalau setiap kali menambahkan data harus menjalankan Google Takeout, itu terlalu merepotkan. Kalau ada pembaruan real-time, rasanya ini bisa jadi killer app. Dokumentasi sumber data Google Photos

    • Itu memang hambatan besar. Saya sempat mencoba mengotomatiskannya dengan Chrome headless, tetapi kenyataannya saya harus autentikasi secara fisik setiap 10 menit, jadi praktis mustahil diotomatisasi. Secara umum saya melakukan Takeout sekali atau dua kali setahun, dan menurut saya itu baik dilakukan untuk tujuan backup data meskipun tidak memakai Timelinize.
  • Saya sangat tertarik dengan layanan ini, (dan terima kasih juga untuk Caddy).
    Saya penasaran bagaimana pembaruan/perbaikan data ditangani. Kalau kita mengimpor data semi-terstruktur lalu misalnya event "jog" dipecah menjadi "light run" dan "intense walk" serta perubahan itu diterapkan mundur ke data lama, maka datanya harus diimpor ulang. Di FAQ hanya disebut additive import. Karena struktur data terus berubah, saya tidak ingin repot dengan SQL update, jadi saat ini saya memakai plain text dan git untuk versioning. Dengan begitu seseorang bisa mengikuti perubahan data seolah-olah melakukan perjalanan waktu secara personal, dan itu bagus.

    • Terima kasih sudah menyukai Caddy.
      Di opsi impor lanjutan, Anda bisa menentukan keunikan item dan cara mendeteksi duplikasi. Cara menangani duplikat juga bisa dipilih sendiri. Secara default duplikat dilewati, tetapi bisa juga diperbarui, dan Anda dapat menentukan nilai mana yang diprioritaskan. Hanya saja, pembaruan berarti query UPDATE, jadi tidak bisa dibatalkan. Saya juga pernah bereksperimen dengan skema yang murni additive, tetapi secara realistis itu sulit karena kompleksitas, risiko error, dan performa penelusuran yang melambat. Namun saya tetap mempertimbangkan kemungkinan agar timeline bisa dijelajahi mengikuti perubahan per satuan waktu.
  • Layanan ini akan terasa sempurna jika digabungkan dengan catatan keuangan (misalnya data bank) dan local LLM.
    Saya belum tahu persis akan dipakai bagaimana, tetapi berdasarkan riwayat pesan, informasi lokasi, dan sebagainya, riwayat transaksi kartu bisa dianalisis lalu diklasifikasikan ke anggaran dan ditampilkan dalam berbagai statistik.
    Kalau punya kendaraan cloud seperti Tesla, jarak tempuh untuk perjalanan dinas/pribadi, biaya, dan lain-lain juga bisa diklasifikasikan otomatis sehingga membantu untuk keperluan pajak.
    Mungkin juga berguna untuk rekomendasi pengalaman lokal yang belum dicoba, serta manajemen waktu.

    • ledger.txt(plaintextaccounting.org), integrasi g-cal, dan Home Assistant semuanya terasa mengarah ke tempat yang mirip.

    • Saya juga sangat sering mendengar hal seperti ini, dan saya sangat berharap pada integrasi informasi keuangan dan LLM. Ini benar-benar menarik, berguna, dan dari sisi perlindungan data pribadi juga terasa layak sebagai asisten pribadi.

  • Proyeknya keren. Kalau tidak suka nama timelinize, apakah pernah mempertimbangkan nama Latin? Misalnya ada kandidat seperti Temperi.
    Dan akan lebih bagus lagi kalau ada dukungan untuk FindPenguins, yang punya beragam data seperti GPS, foto, teks, dan sebagainya.

    • Nama Latin juga sudah beberapa kali diusulkan, tetapi kebanyakan sulit dieja dan diucapkan, jadi tidak terasa sebagai perbaikan yang berarti. Saya juga menganggap FindPenguins layanan yang bagus. Saya sendiri tidak memakainya, tetapi siapa pun bisa mengimplementasikan sendiri sumber data tambahan.
  • Akhir-akhir ini saya frustrasi melihat tool riwayat lokasi makin lama makin tertutup, dan saya rasa proyek ini adalah langkah penting untuk benar-benar merebut kembali kepemilikan atas data. Pasti akan saya coba.

    • Setuju, saya juga berpikir begitu.
  • Ini terlihat sangat keren dan terasa seperti layanan yang selama ini saya inginkan tanpa sadar.
    Saya punya beberapa ide.

  • Karena sensitivitas privasinya tinggi, sebisa mungkin harus self-hosted sendiri di rumah di balik VPN seperti Wireguard atau Tailscale, dan idealnya berupa aplikasi dengan enkripsi E2E seperti Ente.io.

  • Akan bagus jika index dan backend penyimpanan dipisahkan, sehingga foto dan sebagainya bisa tetap disimpan di tempat yang sudah ada (Immich, Ente.io, dll.) untuk mencegah duplikasi penyimpanan. Timelinize tidak mungkin menggantikan semua jenis data, jadi saya ingin memakainya berdampingan dengan aplikasi spesialis yang paling baik menangani masing-masing data.

  • Akan jauh lebih baik jika mendukung impor riwayat perjalanan Polarsteps dan backup Signal.
    GitHub alat backup Signal

    • Terima kasih atas pertanyaan dan komentarnya.
    • Modelnya memang dijalankan di komputer pribadi di rumah.
    • Jika di-host di luar, pemilik hardware yang sebenarnya bisa mengaksesnya secara fisik kapan saja, jadi menurut saya sulit mencapai privasi yang sesungguhnya. Saya juga sempat mempertimbangkan database terenkripsi real-time, tetapi dalam prosesnya tetap perlu dekripsi, jadi secara logis itu mustahil atau sangat merepotkan dan rapuh. Saya bisa saja salah, tetapi rasanya tidak ada alternatif praktis.
    • Soal duplikasi data, tujuannya memang sengaja menyalin data ke dalam timeline ini. Itu juga berfungsi sebagai backup serta menjamin konsistensi, keandalan, dan ketersediaan. Aplikasi lain seperti PhotoStructure hanya melakukan indexing dan tidak membuat salinan data; akan sulit jika Timelinize dipaksa mengikuti pendekatan itu.
    • Saya ingin mendukung berbagai sumber data termasuk Polarsteps/Signal. Data Signal sering berubah format dan juga terenkripsi, jadi sulit diimpor secara andal. Namun siapa pun bisa menambahkan sumber baru sendiri, dan ke depannya saya juga berencana menyiapkan import API, sehingga script atau aplikasi eksternal bisa mendorong data ke Timelinize.
    • Pada akhirnya tujuan Timelinize adalah benar-benar mengamankan data itu sendiri, jadi menurut saya sejumlah duplikasi data masih layak diterima. Ruang penyimpanan juga makin murah, dan meskipun mahal, menurut saya nilainya sepadan.