The Blog
Technical deep-dives, infrastructure guides, and lessons from building production systems.
Docker Compose for Homelab: Running 15+ Services Like a Pro
Docker Compose is a game-changer for managing multiple containers in a homelab environment. If you're running 15+ services—like Ollama, FastAPI APIs, WordPress sites, n8n workflows, or...
23 March 2026
Weekly Roundup: 16 March – 22 March 2026
This week in AI, self-hosting, and development — the most interesting stories and tools from 16 March – 22 March 2026.
21 March 2026
Cloudflare Tunnels: Expose Self-Hosted Services Without Port Forwarding
Self-hosting is great until you need to expose your services to the outside world. Port forwarding is a pain, and punching holes in your firewall feels about as secure as leaving your front door...
20 March 2026
The Complete Guide to Self-Hosting in 2026: Take Back Your Data
In 2026, the allure of self-hosting is stronger than ever. Concerns about data privacy are at an all-time high, subscription costs for cloud services are spiralling, and the desire for true control...
18 March 2026
Topic Consolidation: Turning Thousands of Chunks into Structured Knowledge
## Example Code: Topic Clustering ##
16 March 2026
Weekly Roundup: 09 March – 15 March 2026
This week in AI, self-hosting, and development — the most interesting stories and tools from 09 March – 15 March 2026.
14 March 2026
Deduplicating Vector Databases: Keeping Your Knowledge Clean
Maintaining data quality in vector databases is crucial for accurate and reliable AI applications. Duplicate entries not only waste storage space but can also skew search results and negatively...
13 March 2026
Recency Weighting in RAG: When Newer Information Matters More
In Retrieval Augmented Generation (RAG) systems, we often treat all information as equally relevant, regardless of when it was created. But what if the freshness of information *really* matters?...
11 March 2026
Multi-Query Retrieval: Ask the Same Question Five Different Ways
Imagine you're searching for the perfect recipe. You wouldn't just type 'chocolate cake,' would you? You might try 'best chocolate cake recipe,' 'easy chocolate cake,' 'chocolate fudge cake,' or...
9 March 2026
Weekly Roundup: 02 March – 08 March 2026
This week in AI, self-hosting, and development — the most interesting stories and tools from 02 March – 08 March 2026.
7 March 2026
Contextual Compression: Making Retrieved Chunks Actually Relevant
In today’s rapidly evolving world of artificial intelligence and machine learning, efficiency is key. As we continue to push the boundaries of what our models can achieve, it becomes increasingly...
6 March 2026
Migrating 250K+ Embeddings with Zero Downtime
Embeddings are the lifeblood of modern AI systems, enabling everything from semantic search to recommendation engines. But what happens when you need to migrate millions of embeddings from one model...
4 March 2026
Automatic Fact Extraction: Building Knowledge from Conversations
# Automatic Fact Extraction: Building Knowledge from Conversations
4 March 2026
Smart Query Routing: Sending Questions to the Right Knowledge Source
When designing AI-driven systems, one of the most critical yet often overlooked aspects is how we handle incoming queries. Sending every question through the same pipeline, regardless of its...
2 March 2026
Weekly Roundup: 23 February – 01 March 2026
This week in AI, self-hosting, and development — the most interesting stories and tools from 23 February – 01 March 2026.
28 February 2026
Making RAG Conversation-Aware: Context That Remembers
Building a Retrieval-Augmented Generation (RAG) system that can answer questions based on a knowledge base is cool, but what if you want it to remember what you've already talked about? Creating a...
27 February 2026
Chunking Strategies for RAG: Size Matters More Than You Think
Retrieval-Augmented Generation (RAG) is only as good as the chunks it retrieves. You can have the fanciest large language model in the world, but if you're feeding it poorly prepared data, the...
25 February 2026
Building a Multi-Provider AI Router: Never Depend on One LLM Again
When Claude goes down at 2am and your production RAG pipeline starts failing, you'll wish you'd built a multi-provider AI router. Single points of failure are the enemy of reliable AI systems, yet...
23 February 2026
Weekly Roundup: 16 February – 22 February 2026
This week in AI, self-hosting, and development — the most interesting stories and tools from 16 February – 22 February 2026.
21 February 2026
Embedding Models Compared: Which One Should You Use in 2026?
The use of embedding models has become a cornerstone of modern AI applications, enabling everything from chatbots to recommendation systems. As we move into 2026, the landscape of embedding models...
20 February 2026
How to Evaluate Your RAG System: A Practical Guide to RAGAS Metrics
So you've built a Retrieval-Augmented Generation (RAG) system – great! But how do you *really* know if it's any good? Just because the LLM spits out an answer doesn't mean it's accurate, relevant,...
20 February 2026
Recover Lost Sales with Automated Abandoned Cart Emails (Using n8n)
The average cart abandonment rate is 70%. Most of those customers intended to buy. Here's how to build an automated recovery flow with n8n that brings them back — without paying for expensive plugins.
19 February 2026
How to Monitor SSL Certificate Expiry with n8n (Before It Costs You)
An expired SSL certificate can tank your SEO rankings and scare away customers overnight. Here's how to set up automated SSL monitoring with n8n so you never get caught off guard.
19 February 2026
Cross-Encoder Reranking: The Secret to Better Search Results
8-minute read
18 February 2026
Hybrid Search: Combining BM25 and Vector Search for Better Results
Reading time: 8 minutes
18 February 2026
Agentic RAG: When Your AI System Thinks Before It Answers
Reading time: ~12–15 minutes
14 February 2026
Corrective RAG: Building Self-Improving Retrieval Systems
# Corrective RAG: Building Self-Improving Retrieval Systems
14 February 2026
Building a RAG System from Scratch with Python and ChromaDB
Retrieval Augmented Generation (RAG) is quickly becoming the go-to architecture for building AI applications that can answer questions, summarise documents, and engage in conversations using your...
12 February 2026
HyDE: How Hypothetical Document Embeddings Supercharge RAG Retrieval
The effectiveness of Retrieval-Augmented Generation (RAG) hinges on one core capability: finding the right information to augment your large language model (LLM). But what if the way we *search* for...
12 February 2026
Semantic Caching for AI Applications: Cut Costs and Latency by 90%
Imagine cutting your AI application costs by 90% while simultaneously slashing latency. Sounds too good to be true? It's not. Semantic caching, a technique that goes beyond traditional exact-match...
12 February 2026
Weekly Roundup: 09 February – 15 February 2026
This week in AI, self-hosting, and development — the most interesting stories and tools from 09 February – 15 February 2026.
12 February 2026