Blog

February 25, 2026 · 8 min read

Custom Blocks in Obsidian: The Scribe Block

Obsidian doesn't have custom blocks, so I faked it with a code fence, a hidden div, and two features that actually make it useful.

#AI#Tutorial#Obsidian#Plugin#Speech-to-Text
February 23, 2026 · 8 min read

Voice Transcription Market: Current State and the Missing Piece

Voice transcription in 2026: who ships what (Monologue, Wispr Flow, Hey Lemon), what builders use (Whisper, AssemblyAI), and why fragmentation and lock-in are the real problem.

#AI#Voice#Whisper#Speech-to-Text#Dictation#Wispr-Flow#Monologue
February 18, 2026 · 13 min read

Launch Platform ROI: Data on Product Hunt, HN, and AppSumo

Actual traffic and conversion data for Product Hunt, Hacker News, and AppSumo — including the 10% featured rate and specific ROI math for indie makers.

#Marketing#Launch#Product-Hunt#Hacker-News#AppSumo#Indie
February 18, 2026 · 7 min read

LFM2.5-1.2B on Raspberry Pi 5: llama.cpp Optimization Guide

Optimizing llama.cpp for LFM2.5-1.2B on a Raspberry Pi 5. Recommended settings for quantization, threads, and KV cache to maximize local LLM performance.

#AI#Tutorial#Local#Raspberry-Pi#llama.cpp#LFM2.5#Edge-AI
February 16, 2026 · 6 min read

Deep Research: Exa.ai vs Other Providers

Embedding deep research in a note app with Exa.ai. I built a 5-phase enrichment pipeline, then simplified to Exa with a light review step.

#AI#Architecture#Deep-Research#Exa#RAG
February 16, 2026 · 11 min read

GEO: The New Rules of Search Visibility

AI search engines don't rank pages — they cite sources. Here's what actually works for getting cited by ChatGPT, Perplexity, Claude, and Google AI Overview.

#AI#SEO#GEO#Tutorial#ChatGPT#Perplexity
February 15, 2026 · 7 min read

Workspace vs Document Assistant: Why You Need Both

The best work happens when conversation stays continuous. Document-localized chat gives the workspace assistant richer context — here's how we architected it.

#AI#Architecture#RAG
February 13, 2026 · 7 min read

LFM2.5-1.2B vs LFM2-2.6B: Why We Chose the Smaller Model

Benchmarking Liquid AI's LFM2.5-1.2B against LFM2-2.6B on a Pi 5 — the smaller model scores higher on IFEval (+9), runs 2.3x faster, and fits in under 1GB.

#AI#Local#Raspberry-Pi#Benchmarks#Liquid-AI
February 11, 2026 · 4 min read

Why We Stopped Forcing One Model to Do Everything

We built a Reasoner-Planner-Solver pipeline for a Pi 5 voice assistant, then replaced it with Instruct/Thinking model routing. Here's why simpler won.

#AI#Architecture#Local#Raspberry-Pi#Model-Routing
February 4, 2026 · 5 min read

Ditching Exa AI for Self-Hosted Search

Replacing Exa AI with self-hosted SearXNG and trafilatura on a Raspberry Pi — fully local web search in 2-3 seconds, no API keys, no data leaving the device.

#AI#Local#Tutorial#Raspberry-Pi#Self-Hosted#SearXNG
February 2, 2026 · 6 min read

From 78% to 97%: Making a 1.2B Model Actually Work

Three tricks that took a 1.2B model's tool routing from 78% to 97% — renaming tools, adding a calibration line, and a regex post-processor.

#AI#Local#Raspberry-Pi#Prompt-Engineering#Tool-Calling
January 31, 2026 · 5 min read

Thinking Without Thinking Models

How I got multi-step reasoning working on a Raspberry Pi 5 with a 1.2B model — no thinking model needed. ReWOO cuts it to 2 LLM calls and 80% fewer tokens.

#AI#Local#Architecture#Raspberry-Pi#ReWOO