I use Obsidian every day for my diary, knowledge management, and projects. Alongside daily entries, I keep literature notes and other material organized around my areas of interest and responsibility. I also use it for weekly, monthly, quarterly, and yearly reviews. Finding older notes and connecting thoughts across time is a regular part of how I use it.
My weekly review is a concrete example. I ask an agent to find that week’s daily entries and put together a review following a template. Then I reflect on it and write my own retrospective. After that, I ask an AI model for something closer to coaching: ideas about what I could start doing, stop doing, or keep doing.
I also retrieve notes throughout the day. Sometimes I remember an exact phrase. Sometimes I remember roughly what I was thinking about, with no idea which words I used.
Those are the workflows behind Trama, an Obsidian plugin I’m building for searching notes, finding related ones, and talking through their contents with AI.
What I’d already been using
I’d been using Smart Connections and Copilot for Obsidian for a while before starting this project.
Smart Connections gave me useful related-note functionality for free. The additional capabilities I was interested in, including chat, came at a price I found hard to justify for my own usage. I also found setup a little clunky in the early versions I tried. That observation belongs to those versions; I haven’t followed every change since.
With Copilot, I was a happy user through version 3. The settings weren’t always straightforward, especially when configuring local models, but I got value from it.
With version 4, the move toward external applications added more setup and moving parts than I wanted. And the interface inside Obsidian still didn’t quite fit how I like to work.
Both projects are worth checking out. Using them helped me understand my own priorities well enough to build something around them.
I want one place to search
Omnisearch also belongs in this story, because retrieving notes is such a large part of my daily usage.
Lexical and semantic search approach the same problem differently: finding a piece of information somewhere in an unstructured collection of notes. Lexical search helps when I remember the words. Semantic search helps when I remember the idea.
In my experience, both are useful. I don’t want to stop and decide which approach suits each query. I want to ask one search engine and have it use both to return useful matches.
That’s why Trama combines them. I’ll get into the ranking choices and limitations in the next article.
The things I care about
Privacy sits high on the list. These are diary entries and personal reviews. I want to understand where their contents go and control when I send them.
I’m starting with local models through LM Studio. Trama sends chat context and embedding inputs to the configured model endpoint. Automatic maintenance requires a separate opt-in. Setup takes effort, but it gives me control over where processing happens.
Mobile matters just as much. I use my diary on my phone every day, so it needs to influence storage, synchronization, and connectivity from the beginning. I still have real-device validation to finish, including the practical constraints of reaching a model on another machine.
Then there’s polish. Clear settings, quick responses, readable results. I might be excessive about some of this, but small interruptions accumulate in a tool I use daily.
What Trama does
Filo surfaces related notes. Lente combines keyword and semantic search over indexed Markdown. Voce provides chat with selected notes and read-only tools for searching, reading, and following links. Its tools don’t edit my notes.
These are the pieces I want underneath my everyday retrieval and review workflows.
I’m building Trama around my own workflow. If you have similar needs, I’d be interested to hear how you handle them.