cd /news/ai-tools/why-i-built-a-small-desktop-app-to-s… · home topics ai-tools article
[ARTICLE · art-19964] src=dev.to pub= topic=ai-tools verified=true sentiment=· neutral

Why I built a small desktop app to stop losing my Claude Code sessions

A developer built a desktop app called Shelf to recover lost Claude Code sessions after struggling to find a three-week-old session across twelve repositories. The tool, now at version 0.2.18, evolved from a 200-line Python script with SQLite into a Tauri-based desktop application that indexes and searches local session files. The developer chose a local desktop app over a web service to keep private session data, including personal notes, off any server.

read2 min publishedJun 3, 2026

This is a builder note, not a launch post. I am writing it because the project is now at v0.2.18, and the question I keep getting asked in private is: why a desktop app, why Tauri, why not just a web app?

Here is the honest answer.

The trigger was small. I had twelve repos I was actively using Claude Code on. One afternoon I wanted to recover a session from three weeks ago, in a repo I had not touched in a month. I knew what I had asked the model to do. I did not know which of the twelve project folders under ~/.claude/projects/

the session lived in, and I did not remember the timestamp.

The session was technically on disk. I just could not find it. That gap (the data exists, but the index is missing) is what I wanted to close.

The first version of Shelf was 200 lines of Python and a SQLite table. It just listed every session in every project, sorted by mtime. I could grep the table. That alone was useful.

The current version is a Tauri app (Rust + WebView). The reason I switched from a CLI to a desktop app was not aesthetics. It was because the actual use case has three sub-tasks that are awkward on a terminal:

Local, not cloud, was a deliberate choice. The session files contain everything I have ever typed into a model, including private notes about my own work. I do not want a server roundtrip just to read my own data. Tauri was the smallest path to a real desktop app I could ship and maintain myself.

If you have ever grepped ~/.claude/projects/*/*.jsonl and felt like that should not be the answer, the project is here: https://github.com/Harukaon/shelf. Pull it apart, tell me what is wrong, fork it, do not use it, all of the above.

── more in #ai-tools 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/why-i-built-a-small-…] indexed:0 read:2min 2026-06-03 ·