Chatty — a workspace for long AI conversations
Status: in daily use since May · Next.js · TypeScript · Claude Agent SDK · SQLite · embeddings
The problem #
In long conversations with language models, the beginning gets lost — and anything good from an old chat is effectively unfindable afterwards.
What I built #
An interface with coloured highlights that collect onto a single sheet, named side chats hanging off any main conversation, a gauge showing how full the context currently is, and semantic search across every conversation. The text vectors are computed locally and compared in-process, with no external database involved.
A knowledge filter runs in the background and is deliberately built so that it never slows down typing.
28 endpoints, 17 interface components, in daily use since May.
Why it is built this way #
Local embeddings were a deliberate constraint. These conversations contain working material I did not want to hand to a third-party vector service — and it turns out the volume one person produces fits comfortably in memory.