The recal blog
Field notes from the edge of personal AI
Where personal computing is heading, and how we're building toward an AI that works like a second you.
Local LLM tokens per second: how to compute your ceiling
Decode speed is memory bandwidth divided by the bytes read per token. The formula, a verified table for common hardware, and how to find your real limit.
Read →Claude Code skills not triggering? Four checks, in order
A skill that never fires is rarely a prompting problem. The four mechanisms that decide invocation, including the budget that silently strips descriptions.
Read →Best local LLM for agentic coding in 2026 (ranked by context headroom)
On consumer VRAM the binding constraint is context, not parameters. The KV cache math, what each VRAM tier fits, and the llama.cpp flags that buy room back.
Read →LLM structured output when the provider ignores your schema
Some providers accept response_format json_schema and return prose anyway. The fallback ladder we shipped for BYOK, and the lenient parser underneath it.
Read →MCP vs Function Calling: When You Actually Need an MCP Server
MCP does not replace function calling, it feeds it. What each layer does, the token cost of loading every tool upfront, and when a CLI beats a server.
Read →Prompt Caching vs Semantic Caching: the Honest Tradeoffs
Prompt caching and semantic caching are not alternatives. One is an exact prefix match that cannot be wrong, the other is a similarity bet that can serve a wrong answer. When to use each.
Read →Mac mini for local LLMs in 2026: which config actually runs what
Which Mac mini runs local LLMs well in 2026. The two specs that decide it, what 16GB, 24GB and 48GB each fit, and the honest ceiling on 70B models.
Read →Best Local Reranker Models for RAG in 2026
The best local reranker models for RAG in 2026: bge-reranker-v2-m3, Qwen3-Reranker, mxbai, jina and MiniLM, compared on size, license and honest trade-offs.
Read →Local vector database for RAG: the 2026 tier list
sqlite-vec, LanceDB, Chroma, Qdrant, DuckDB VSS, pgvector, FAISS and Milvus Lite, ranked on one axis: how well each works as an embedded store on one machine.
Read →The best AI file organizers for Mac in 2026
Five ways to auto-sort files on a Mac, from Hazel rules to AI renamers like Sortio, NameQuick and FilesDesk. Which ones keep your documents on-device.
Read →The best dictation apps for Mac in 2026
Seven Mac dictation apps compared, from superwhisper and Wispr Flow to free open-source options. Which ones stay on-device, and which send your voice away.
Read →MLX vs llama.cpp on Mac in 2026: which runtime should you use?
An honest MLX vs llama.cpp comparison for Apple Silicon in 2026: real benchmark numbers, the long-context catch, GGUF portability, and which local LLM runtime fits you.
Read →Best Local Embedding Models for RAG in 2026
The best local embedding models for RAG in 2026: nomic-embed, BGE-M3, Qwen3-Embedding, jina-v3 and more, compared on context, license and honest trade-offs.
Read →BM25 vs vector search: why local RAG needs both
BM25 finds exact terms, vectors find meaning, and on a local RAG most cannot-find-it bugs are a missing lexical half. When each wins, and how to fuse them.
Read →Best local NotebookLM alternatives in 2026 (private and offline)
NotebookLM is genuinely good, but your sources go to Google. Here are the best local and self-hosted NotebookLM alternatives in 2026, with honest trade-offs.
Read →The best local RAG apps for Mac in 2026
Run RAG over your own files fully offline on a Mac. We compare AnythingLLM, GPT4All, LM Studio, Ollama and Jan, with honest trade-offs and where recal fits.
Read →AI Agent Memory Frameworks Ranked (2026): mem0 vs Zep vs Letta
An opinionated tier list of AI agent memory frameworks in 2026, ranked on one axis: what happens to a fact after you correct it. mem0, Zep, Letta, LangMem and raw vectors.
Read →Ollama vs LM Studio in 2026: which should you use?
A hands-on Ollama vs LM Studio comparison for 2026: CLI vs GUI, MLX speed on Mac, coding and automation, licensing, and which local LLM app fits you.
Read →The best local LLM apps for Mac in 2026 (S to C tier)
An opinionated tier list of the best local LLM apps for Mac in 2026: LM Studio, Ollama, Jan, MLX and more, ranked with the honest catch on each.
Read →The best local-first note-taking apps in 2026
A grounded guide to the best local-first note-taking apps in 2026, from Obsidian to Anytype, with how each stores your data and the honest catch on every one.
Read →Best local AI assistants in 2026: private and on-device
A grounded 2026 guide to the best local AI assistants. We separate on-device model runners from context-aware assistants, with honest picks for each.
Read →What poisoning a RAG store taught us about agent memory
A builder tried to poison his own RAG store. The retrieval-time defenses did not generalize, and the fix reframes how personal AI memory should work.
Read →The trust ladder: how a personal AI earns the right to act
Autonomy you can't audit is a liability, not a feature. Here's the staged model of consent that takes a personal AI from watching your work to doing it.
Read →Local by default: why a personal AI belongs on your machine
The more an AI knows about how you work, the riskier it is to store off your machine. Local-first isn't a checkbox; it's what makes personal AI possible.
Read →From copilot to colleague: the shift that makes AI worth real work
A copilot waits for instructions; a colleague notices what needs doing and does it. That gap, not a smarter model, is the opportunity in personal AI.
Read →