Skip to main content

Command Palette

Search for a command to run...

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

Updated
3 min read
A

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

ToolDomainInstall
CTKAI Conversationspip install conversation-tk
BTKBookmarks & Mediapip install bookmark-tk
EBKeBooks & Documentspip 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: