QuickQuill's first update after launch. QuickQuill CLI & Skills are out!
Some of you who commented at launch were curious whether QuickQuill could export transcripts and summaries as markdown, and a few of you wanted to wire it into Obsidian. Markdown export was already in the app, but getting your transcripts and summaries out just got much easier.
QuickQuill CLI is out. It supports starting and stopping recordings (transcription and the summary run in the background), searching and fetching past sessions, and transcribing audio files. The Obsidian case is now two lines:
QuickQuill updates: Two new features, both about search.
Semantic search
You can now search your meeting history by meaning instead of exact words. It all runs on-device, and it works across languages, so a Japanese query can find an English meeting.
Some notes on how this got built, because it didn't go the way I planned. My first version used Apple's built-in embedding API (NLContextualEmbedding), mainly because it needs no model download. I really wanted that to work. But it's a general-purpose model, not tuned for retrieval: short filler lines like "yeah, okay" matched almost any query, and the similarity scores moved around so much that I couldn't find a threshold separating real hits from noise. I tried the usual tricks (centering the vector space, weighting by length) and they helped, but on my real transcripts it was still a coin flip. So I gave up on it and switched to Qwen3-Embedding-0.6B, a model actually trained for retrieval, running locally through llama.cpp. That costs users a one-time 640 MB download, which I was reluctant about, but the results on my own messy meeting data were good enough that I stopped second-guessing it.