Source code: github.com/thameenas/llm-recall-app

You can download the .dmg from the releases page or build from source.

I use both Claude Code and Cursor daily, switching between them depending on the task. Often, I search through past conversations to remember how I solved something, review a change, or revisit something I discussed earlier. The problem is that searching through chat history in both tools is incredibly inconvenient.

So I built Recall - a lightweight macOS app that reads local data from Cursor and Claude Code, and brings all my LLM conversations into a single, fast, searchable interface.

Building with Claude Code as the Tutor

Recall displays every conversation from both of these tools in a single list, sorted by date and lets you search and browse through the chats.

My initial plan was to build this as an Electron app. Instead, Claude suggested using Tauri - a framework that uses web frontend with a Rust backend. The backend for this project is very minimal: it reads local files and enables querying via SQLite.

The catch: I had zero experience with Rust. So I set up a /tutor agent in Claude Code and asked it to teach me while building, using analogies to concepts I already understood. It turned the entire process into a guided learning experience.

Under the hood

The frontend is React + TypeScript + Tailwind CSS. The backend is about 200 lines of Rust that reads Claude Code’s JSONL files and queries Cursor’s SQLite database. Search uses MiniSearch on the frontend, a lightweight full-text search library that runs entirely in memory. The app makes zero network requests. Everything runs locally and is read-only.