世界を動かす技術を、日本語で。

Show HN: Timelinize – あらゆる場所から自分のデータをプライベートに整理するツール

概要

Timelinizeは、家族や個人のライフログを自分のPC上で統合管理できるオープンソースアーカイブスイート。 写真・動画・メッセージ・位置情報など多様なデータを時系列で一元化。 クラウドに頼らず、プライバシーと完全なコントロールを確保。 マップ表示・会話統合・ギャラリーなど多彩なビジュアル機能搭載。 将来的な拡張やデータ共有にも対応予定。

Timelinize:現代的な家族史を支えるパーソナルアーカイブスイート

  • Timelinize は、オープンソースの 個人アーカイブスイート
  • 写真・動画・テキストメッセージ・位置情報・チャット・SNS投稿など、あらゆる 個人データの統合管理
  • データは 自分のPC に保存、クラウド依存から脱却
  • 家族や個人のライフログ を、詳細かつプライベートに記録
  • 標準的な写真アプリや日記アプリよりも 包括的な視点 を提供

主な対応データ

  • 写真・動画ライブラリ
  • テキストメッセージ・チャット・メール
  • 旅行履歴・SNS投稿・連絡先
  • ワークアウト・ブックマーク・ノート・ドキュメント・オーディオ
  • 閲覧履歴・カレンダー(予定)・ヘルス(予定)・音楽再生履歴(予定)
  • 天気・ニュース・その他家庭内のあらゆるデータ

Timelinizeの強み

  • クラウドに依存しない、自分の手元にデータを保存
  • Google/Apple/Facebookアカウントやスマホを失っても、 データの安全性 を確保
  • 既存アプリやサービスを 置き換えず、裏側でアーカイブ
  • データの 長期保存・可搬性 を重視

多様なビジュアル表示

  • タイムライン表示 :全データを日付順にセマンティックにグルーピング
  • マップ表示 :世界地図上にデータをプロット、座標のないデータも自動推定
  • 会話統合 :異なるプラットフォームのメッセージやチャットを一元表示
  • ギャラリー :写真・動画をソース横断で一覧表示

高度なインポート・データ処理

  • 数百万件のデータを短時間でインポート 可能
  • インポート状況をライブチャート・テーブルで可視化
  • Live Photos(モーションフォト) 再生対応(Apple/Google/Samsungデバイス)
  • エンティティ認識 :複数データセット間で同一人物や連絡先を自動統合
  • ジオロケーション推定 :位置情報がないデータも推定して地図表示
  • ヒートマップ :データの集中エリアを一目で把握

柔軟なデータ管理・拡張性

  • 重複データの定義・統合 を細かくカスタマイズ可能
  • 会話の自動発見 :送信先情報から会話を自動グループ化
  • 高度な位置情報処理 :重複排除・ノイズ除去・クラスタリング・簡易化
  • CLI/HTTP API による操作も可能(フロントエンドと同機能)
  • セマンティック検索 :説明文や類似アイテムで検索
  • サムネイル・トランスコード :元データは非改変、サムネイルは別保存
  • 柔軟なスキーマ設計 :将来の拡張にも対応

将来の発展

  • タイムラインを使った物語作成・注釈付与 や、フォトブック等の物理メディア制作
  • 天気・ニュース・イベントなどの公共データ連携 で文脈強化
  • 安全なデータ共有 :信頼できる相手と部分的にタイムライン共有
  • モバイルアプリ・同期機能 の拡充

データの保全と自由度

  • インポートしたデータは タイムラインフォルダ内に自動コピー
  • SQLiteデータベース+データファイル のシンプル構成
  • 他ツールとの連携・移動が容易、プロプライエタリな保存形式なし
  • ジャーナルのように新たな入力は不要、 既存の生成データを活用

開発者からのメッセージ

  • 10年以上かけて個人開発、家族が使える安定版を目指して開発中
  • 自分のデータをクラウドで管理したくない という思いから着想
  • 各種アカウントのエクスポートデータを有効活用、 「死蔵」防止
  • オープンコラボ歓迎、 名称変更も検討中

Timelinizeの導入メリット

  • データの プライバシー・所有権 を自分で守る
  • ライフログを 多角的に可視化 し、家族や個人の歴史を豊かに記録
  • クラウドサービス消失時の リスクヘッジ
  • データの長期保存・活用 を実現

Hackerたちの意見

これは素晴らしいアイデアだけど、データを更新したいときに毎回Googleテイクアウトを実行しなきゃいけないの?残念ながら、そのプロセスは面倒すぎて、これを使う気にはなれないな。でも、もしタイムラインがほぼリアルタイムで更新できるなら、これはすごいアプリになるね。[0]: https://timelinize.com/docs/data-sources/google-photos

そうだね。ほんとに面倒くさい。Chromeのヘッドレスを使ってそのプロセスを自動化しようと何時間もかけたけど、なんとか動いたと思ったら、10分ごとに物理的に認証しなきゃいけないことに気づいた。だから、2FAがこんなに頻繁に必要だと、自動化できないんだよね。実際には、年に1回か2回テイクアウトをやる感じ。(Timelinizeを使わなくても、データを確保するためにこれをおすすめするよ。)

ああ、そうだね、mholtはCaddy(ウェブサーバー)を作ったことで有名だよね。Timelineizeに対する興味が高まったよ。

これは素晴らしい。もっと色々なことができるようにしてほしいな。NextcloudやZoteroの代わりにもなって、すべての文書や本を保存して、いつ追加したか、開いたか、編集したかを記録してほしい。自分が書いたすべてのノートも保存してほしいし、開いたブラウザのタブ、いつ開いたか、コピー&ペーストしたもの、押したキーもすべて記録して表示してほしい。デジタルの世界で自分がやったことをすべて記録して、検索可能にして、「2週間前の今日、何をしてたっけ?」って質問に答えられるようにしてほしい。もちろん、これは自己ホスティングで管理しなきゃダメだね。監視ソフトウェアや技術を作るつもりはないから。極端に聞こえるかもしれないけど、他の人のObsidianのセットアップを見たとき、手動で双方向リンクがたくさんあるのを見て、時間を見直すべきだと思ったんだ。今日ウィキペディアで何かを調べると、関連する概念を調べたり、その周辺のことに取り組む可能性が高くなるから。

次のクラウドやZoteroの代わりになってほしいな。自分のドキュメントや本を全部保存して、いつ追加したり開いたり編集したかを記録してくれるやつ。自分が書いたノートも全部保存してほしい。今のところ、いい感じだね。長期的には、もしかしたらオプションの追加機能になるかもだけど、どうなるか見てみよう。 > 開いたブラウザのタブを全部記録して表示してほしいし、いつ開いたか、コピー&ペーストしたもの、押したキーも全部記録してほしい。理論的には可能だけど、個人的にはちょっと詳細すぎるかな。:D 自分はそこまでの細かさはいらないけど、ビジョンは似てるね。私たちは自分の生活を記録して理解するためにいろんなデータを生成してるけど、日記を書く必要すらないのに、それを理解する手段がない。このアプリはその解決策を試みてるんだ。

マイクロソフトには、作業していたことを思い出させてくれるような製品があるんじゃないかな?

いいね、これは素晴らしい。家族で使うために、金融データをインポートしてダッシュボードを表示する小さなローカルアプリに取り組んでるんだ(妻と一緒に)。だから、データを管理するのは素晴らしいことだね。リアルタイムデータやcronジョブについても気になるな。このアプリにデータをインポートするアイデアは好きだけど、何か方法で新しいデータを自動的に取得できるように設定できたらもっといいな。Timelineizeはそういうことをしてるの?ページには見当たらなかったけど。

いいね、金融のユースケースはすごく関連性があると思う。いつか、他のデータのように金融探索ページがあったらいいな。リアルタイムやポーリングのインポートはまだサポートされてないけど、その機能のデザインが決まれば、そんなに難しくないと思う。ファイルを追加するとTimelinizeがすぐにインポートする「ドロップゾーン」を試してみたけど、インポートをタイマーで設定するのは簡単だよ。

いいプロジェクトだね!「timelinize」が気に入らないなら、ラテン語の名前を考えたことある?例えばTemperiみたいな。機能に関しては、FindPenguinsのサポートがあればいいな。面白いデータ(写真、動画、GPS座標、テキスト)がすでにたくさんあるから。

いくつかラテン語の名前が提案されたけど、どれも定着してないね。問題は、通常はスペルや発音が難しいから、現状より良くなるわけじゃないんだよね :) FindPenguinsはいいね!自分は使ってないけど、誰でもデータソースを実装するのは大歓迎だよ。

わあ、それはすごいね!フォルダだけじゃなくて、写真やデータベースのバックアップ用にS3互換のバックエンドを使えるなら面白いな(でも、全ての写真や動画のアーカイブがノートパソコンに収まるとは思えないけど、サムネイルは絶対入るし、デスクトップとHetznerのバックアップマシン間で複製したminioとかは確実に役立つだろうね)。

SQLiteはS3ファイルシステムではあまりうまく動かないと思う。すごく遅くなるだろうし。ExFATを使ってるときにSQLiteがクラッシュしたこともあるから、ファイルシステムの選択は本当に重要だよ!(このバグのためにExFATを検出してSQLiteをWALモードを避けるように設定するワークアラウンドを実装したけど、ただ…ずっと遅くなっただけだね。)

ブランディングについては、いろんな方向性があると思うよ:Timelines、Tempor(時間的)、Chronos、Chronografik、Continuum、Momentum(瞬間、記憶、時間を通じた勢い)、IdioSync(正直これあまり好きじゃないけど)。誰が知ってるかな!これはただタイピングしながら思いついたものだよ。覚えやすくて発音しやすいリズムが必要だね。「Memorable」も可能性があるかも(笑) - ある人からの提案だよ、ChatGPTじゃないから。

Dateline(ブラウジング中にDateline NBCのテーマソングが静かに流れてる感じで、自分の歴史や成果を見てる)

Momenta

他の人たちと同じように、このアイデアがすごく好きで、実現も素晴らしいと思う!自分はこのアプリの典型的なユーザーじゃないかもしれないけど、データは実際にクラウドに残しておきたいから、インデックス化してタイムラインにしたいな。タイムライン化できるかな?gphoto、YouTube、Bluesky、その他から全部ダウンロードする代わりに、そこにあるものだけをインデックス化して同じインターフェースを提供するっていうのは?メタデータに加えて実際のデータをオプションでダウンロードできるようにするのはどう?

いいね、シェアしてくれてありがとう!絶対試してみるよ。ライブラリや依存関係を全部まとめてパッケージ化するセットアップを作ること考えたことある?すごくいいインストールガイドだけど、セットアップ.exeだけ欲しいユーザーも多いと思うんだよね :-)

ありがとう!ライセンスの関係で全部をパッケージ化できるかはわからないな。法律の専門家じゃないから。コンテナイメージは基本的にいろんな依存関係を自動化してると思うけど、俺はそれを作ったわけじゃないし使ってもいないから100%確信はないよ。正しく各プラットフォーム用にこれをやる方法を知りたいけど、どうすればいいのか全然わからない。助けてくれると嬉しいな。

これめっちゃクールだね!無意識のうちに探してたものかも!いくつかアイデアがあるんだけど:- インデックスとストレージのバックエンドを分離して、写真とかを他の場所にホストできるようにしたい。特にデータの重複を防ぎたいんだよね。(例えば、すでにImmichやEnte.ioをセルフホスティングしててバックアップも設定してるなら、Timelinizeが別の写真のコピーを保存するのは無駄だと思う。)これを実現するのは簡単じゃないのはわかってるけど、いろんなデータタイプに対してはすでにたくさんの専門アプリがあるから、Timelinizedが全部を置き換えるのは無理だと思う。- Polarstepsの旅行をインポートするサポート - Signalのバックアップをインポートするサポート(例えば、https://github.com/bepaald/signalbackup-tools 経由で)