In Part 1 we covered the philosophy and series overview. In Part 1.1 we built the sample data generator. Now let's build the core system. This part focuses on: Zero-PII profile architecture - Ephemeral sessions vs persistent profiles Signals and weights - What…
Yes and no, I've ALWAYS been able to have multiple ideas in my head at the same time and let them coalesce until it's something I can build (I gave up all the 'social life' parts so it's not ALL GOOD!). I can write pages on each idea and DO all the time (check…
NuGet npm .NET Node.js This is Part 4 of the DocSummarizer series. See Part 1 for the architecture, Part 2 for the CLI tool, or Part 3 for the deep dive on embeddings. The hard part of RAG isn't the LLM. It's everything before the LLM. You've probably seen the…
Microservices have become the default "serious system" architecture. If you want to sound mature, you talk about service meshes, event buses, distributed tracing, and "independent deployability". If you want to look enterprise-ready, you draw boxes until the…
HTTP didn't evolve. It was forced to change by physics, latency, and misuse. Every version exists because the previous one hit a hard constraint. If you understand those constraints, you understand why the web works the way it does - and why so many "best…
Small and local LLMs are often framed as the cheap alternative to frontier models. That framing is wrong. They are not a degraded version of the same thing. They are a different architectural choice, selected for control, predictability, and survivable failure…
In Part 1, we explored why GraphRAG matters. Now let's build a minimum viable GraphRAG with three extraction modes: Mode LLM Calls Best For Heuristic (default) 0 per chunk Fast indexing, structured markdown Hybrid 1 per document Balance of speed and quality…
Your RAG system is great at "needle" questions: retrieve a few relevant chunks and synthesise an answer. It struggles with two common query types: Sensemaking: "What are the main themes across this corpus?" Connective: "How does X relate to Y across different…
I keep seeing the same failure mode in "AI-powered" systems: LLMs are being asked to do jobs we already solved decades ago - badly, probabilistically, and without guarantees. This isn't cutting edge. It's a regression. And this isn't a beginner mistake. The…
Most “chat with your data” systems make the same mistake: they treat an LLM as if it were a database. They shove rows into context, embed chunks, or pick “representative samples” and hope the model can infer structure, quality, and truth from anecdotes. It…