Private Semantic Search: Building an Offline Vector Search Engine with SQLite and Ollama
Learn how to build a 100% offline, privacy-first semantic search engine for your markdown notes using Ollama embeddings and SQLite's vector extensions.
Thoughts, experiments, and field guides on local AI, minimalist web development, and database-free architecture.
Learn how to build a 100% offline, privacy-first semantic search engine for your markdown notes using Ollama embeddings and SQLite's vector extensions.
Your 2019 ThinkPad with 8GB of RAM can run real AI models. Here is the exact setup, model picks, and performance numbers.
Stop uploading contracts, medical records, and legal docs to ChatGPT. Build a fully offline document analysis system in 30 minutes.
Search on a static site sounds impossible. It is not. Here are three approaches that work, from simple JSON to WASM-powered full-text search.
React is 42KB before you write a line of business logic. Vanilla JS is 2KB. For small projects, the math is simpler than you think.
Both tools got major upgrades this year. Ollama raised $88M and added cloud tiers. LM Studio launched a headless server. Here is what matters.
Free tiers got generous. Here is a complete production stack for literally zero dollars.
LangChain has 1,800+ GitHub issues and your agent has 3 tools. You do not need a framework — you need 150 lines of Python.
The developer graveyard is full of beautiful apps nobody asked for. Here is how to validate your idea in 48 hours.
Why use heavy databases? Learn how to generate static SQLite databases with FTS5 virtual tables to query index text instantly with SQL in client browser.
Ditch CSS framework bloat. Learn how to write a highly responsive, modern, auto-fitting blog card layout using pure native CSS grid and clamp values.
Why you don't need heavy frameworks like LangChain to build functional local AI agents. How to use vanilla Python or JS with Ollama's direct API.
Framework fatigue is real. Build a fully featured, beautiful chat interface for Ollama using only plain HTML, CSS, and Vanilla JavaScript.
A database is overkill for search on a static blog. Learn how to pre-build a lightweight JSON index and query it in the browser with simple JS.
Want to host dynamic side projects for free? Here is how to deploy SQLite on free tiers with automated Litestream streaming backups.
I spent six months using AI coding agents daily. Here's what surprised me, what frustrated me, and what I'd tell someone starting today.
The difference between AI-generated spaghetti and production-ready code is the prompt. Here's the framework I use every day.
The sexiest startup ideas get the most attention and the least revenue. Here's why boring software makes millionaires.
Static sites are great until someone says "can you add a contact form?" Here's how to handle it without spinning up a server.
Google's performance metrics sound intimidating. They're actually just three simple questions about your site.
Everyone uses JavaScript for dark mode. Here's how to build a multi-theme system with zero JS using CSS radio inputs.
Controversial opinion: if you're the only developer, feature branches are ceremony without value. Here's what I do instead.
Both tools let you run AI locally. But they take wildly different approaches — and the "best" one depends on what kind of developer you are.
Think you need a $3,000 GPU to run local AI? Absolutely not. Here's the guerrilla guide to running real LLMs on old hardware.
Stop uploading sensitive documents to ChatGPT. Build a fully offline document analysis system that never touches the internet.
You don't need a budget to ship a real product. Here's a complete production stack built entirely on free tiers.
Your brilliant tutorial has 3 views — all from your own browser. Here's how to fix that without becoming an SEO guru.
The developer graveyard is full of beautiful apps that no one asked for. Here's how to check if your idea has legs.
Redux has 1,800 GitHub issues. Your homemade state manager will have zero. Here's how to manage complex app state in plain JS.
Most websites are slow because of easily fixable mistakes. Here's a prioritized checklist that makes the biggest impact.