X (Twitter) / Mastodon / Blueskyの投稿データを一覧表示・検索できる、「KeePost」(キーポスト)というWebアプリを製作しました。下記のリンクから無料でご利用いただけます。
このアプリはオープンソースとなっており、GitHubにて公開しています。ライセンスはGPL v3です。
Svelte + IndexedDB (Dexie.js) を軸として開発しています。
製作のきっかけ
日々の思考や出来事の記録、いわゆるライフログとしての役割がSNSにはあります。書き込むだけで蓄積されていく手軽さがSNSの長所ですが、突然のサービス終了やトラブルによって、蓄積されたデータが失われるリスクも常に存在しています。数十年後の遠い未来にも安心してログを読み返すためには、自分自身でデータのバックアップを取るとともに、そのデータの閲覧環境を整えておく必要があります。
数十年後にもデータを確実に読める環境を整えるには、オープンソースのWebアプリ、それもブラウザだけで動作するアプリが最適だと考えました。
既存サービスとの共存
SNSデータを管理するWebサービスとしては、Twilogなどがすでに存在しています。私自身もTwilogの有料プランを便利に利用しています。今後もこれらのサービスとKeePostが共存していくことを私は目指しています。
API連携による自動更新や高度な分析機能などは、KeePostに搭載する予定はありません。データを長期的に手元へ保管すること、必要なデータを将来も確実に取り出せることがKeePostの目的です。継続的なメンテナンスの労力も考慮すると、機能は最小限に留めておく必要があります。
日頃は既存の優れたサービスを利用し、万が一の際にはKeePostで確実に投稿データを読み込める、そのような補完的な関係が望ましいと考えています。
主要機能
マルチSNS対応
3つの主要なSNSプラットフォームであるTwitter、Bluesky、Mastodonに対応しています。異なるSNSのデータ形式をインポート時に変換し、共通の画面で一元管理できます。今後はThreadsやMisskey等、対応SNSの追加を検討中です。
プライバシーファースト
外部サーバーとの通信を一切行わず、すべてのデータはブラウザのIndexedDBに保存されます。インポートしたデータはユーザーのデバイス内にのみ存在するため、第三者がアクセスすることはできません。
KEEP(お気に入り)機能
お気に入りの投稿へ素早くアクセスできる機能です。「KEEP」ボタンを押しておけば、あとでKEEPの投稿だけを簡単に検索できます。
高度な検索機能
SNSの種類、投稿日、メディアの有無、KEEPなど複数の条件を組み合わせてフィルタ表示できます。全文検索にも対応しており、数万件の投稿データからでも瞬時に検索できます。
Twilogインポート機能
TwilogからエクスポートしたCSV(UTF-8)を、KeePostにインポート可能です。たとえばX(Twitter)では削除してしまった投稿でも、Twilogにその投稿が残っていれば、KeePostで管理可能になります。
Twilogインポートでは「いいね」と「リツイート」の数を取得できません。なるべくTwitter公式のエクスポートデータを、KeePostにインポートすることをおすすめします。
余談&宣伝
KeePostを開発した株式会社トンボロはWordPress専門のウェブ制作会社です。オープンソースのWordPressは、SaaSのようにサービス終了の心配がなく、数十年後にもデータを自ら管理できる点において、KeePostの思想との共通点があります。過去の受託開発においてはWordPressとIndexedDBを組み合わせたアプリ製作の実績もあり、様々な要件に対応可能です。
メンテナンスしながら長く使えるWebアプリやシステムを構築したい、というご用件がありましたら、ぜひお問い合わせください!