The Long Echo Toolkit: Preserving Your Digital Life
Three CLI tools for preserving your digital intellectual life: conversations, bookmarks, and books. Built on the same resilient architecture with read
Research engineer and computer scientist working at the intersection of machine learning, statistical computing, and cryptography. Currently pursuing my PhD in Computer Science at Southern Illinois University Edwardsville, where I also earned dual master's degrees in Computer Science and Mathematics/Statistics. I believe in the power of open source to accelerate scientific progress. My work focuses on building tools that are both theoretically sound and practically useful—whether it's compositional approaches to language modeling, encrypted search systems that preserve privacy, or statistical methods for reliability analysis with censored data. I maintain 50+ open source repositories with libraries published to PyPI and other package registries. I care deeply about API design, documentation, and developer experience—making complex algorithms accessible to practitioners. As a cancer survivor, I bring a unique perspective on resilience and determination to my work, approaching challenges with both theoretical depth and practical engineering expertise.
Earlier this year I wrote about Long Echo—a philosophy for preserving AI conversations in ways that remain accessible across decades. The core insight was graceful degradation: designing systems that fail progressively, not catastrophically.
Since then, I've built out a complete toolkit for preserving all personal digital content—not just conversations, but bookmarks (including videos, podcasts, articles) and books. These three tools form a coherent system for managing your intellectual life.
The Toolkit
| Tool | Domain | Install |
| CTK | AI Conversations | pip install conversation-tk |
| BTK | Bookmarks & Media | pip install bookmark-tk |
| EBK | eBooks & Documents | pip install ebk |
All three share a common architecture and philosophy, but each is deeply specialized for its domain.
Shared Architecture
SQLite-First Storage
Every tool uses local SQLite databases you own. No cloud dependency. Queryable with standard tools even if the CLI disappears:
# Works even if the tools are gone
sqlite3 conversations.db "SELECT title FROM conversations WHERE title LIKE '%python%'"
sqlite3 bookmarks.db "SELECT url, title FROM bookmarks WHERE stars = 1"
sqlite3 library.db "SELECT title, author FROM books WHERE favorite = 1"
Interactive Shells with Virtual Filesystems
Navigate your data like a Unix filesystem:
$ btk shell
btk:/$ cd tags/programming/python
btk:/tags/programming/python$ ls
3298 4095 5124 (bookmark IDs)
btk:/tags/programming/python$ cat 4095/title
Advanced Python Techniques
Reading Queues
Track what you're reading, watching, or working through:
btk queue add 42 --priority high
btk queue next
btk queue progress 42 --percent 75
btk queue estimate-times # Auto-estimate from content length
LLM Integration
All three tools integrate with LLMs for intelligent features:
btk content auto-tag --all
ctk auto-tag --model ollama/llama3
ebk enrich 42 # Enhance metadata with LLM
ctk say "summarize my conversations about Rust"
Network Analysis
Discover relationships in your data:
ctk net embeddings --all
ctk net similar 42
ctk net clusters
ctk net central # Most connected conversations
BTK: More Than Bookmarks
BTK evolved from a simple bookmark manager into a comprehensive media archive:
btk media detect # Scan bookmarks for media URLs
btk media import-playlist "https://youtube.com/playlist?list=..."
btk media import-channel "@3blue1brown"
btk media import-podcast "https://feed.example.com/rss"
btk content refresh --all --workers 50 # Cache for offline access
Smart collections provide auto-updating views: /unread, /popular, /broken, /untagged, /pdfs.
CTK: Conversation Intelligence
CTK manages AI conversations with tree structure preservation and network analysis:
ctk import chatgpt_export.json --format openai
ctk import claude_export.json --format anthropic
ctk tree 42 # Visualize branching conversation
ctk net clusters # Discover topic clusters
EBK: Library Management
EBK handles ebooks with semantic search, virtual libraries, and annotations:
ebk import ~/Calibre\ Library/
ebk similar 42 # Find books like this one
ebk vlib add "Machine Learning" 42 43 44
ebk note add 42 "Chapter 3 insight: ..."
Multi-Format Export
The key to long-term preservation—export in formats that will always be readable:
ctk export conversations.jsonl --format jsonl
btk export bookmarks.html html --hierarchical
ebk export catalog.html --format html
Each level provides graceful degradation: Full tool → SQLite → JSON → HTML → Plain text.
Why This Matters
Your intellectual life is worth preserving:
The debugging session that saved a project
The research trail that led to a breakthrough
The books that shaped your thinking
These deserve better than "hope the cloud doesn't disappear."
Full post with more details: https://metafunctor.com/post/2025-12-16-long-echo-toolkit/
Links: