Anchoring AI

Series Overview

Building a production RAG system from scratch — an ongoing series

What is Anchoring AI?

Anchoring AI is a growing series about building a real AI system — not a demo, not a tutorial with a toy dataset, but the kind of thing you’d actually deploy for a paying client. The codebase is a portfolio mirror of consulting work I did for a credit union. The data is synthetic. The architecture decisions, trade-offs, and lessons are real.

The series follows a build-with-me arc: each post adds a layer to the system. By the end, we’ll have a RAG pipeline, an MCP server, object storage ingestion, a REST API, Azure infrastructure, a Grafana observability stack, and a validation framework — all grounded in a real use case.

The repo lives at github.com/HendoCode/contact-center-ai.


The Posts

# Title What it covers
01 The Blueprint Series intro, C4 architecture diagrams, MCP query and ingest sequence diagrams
02 From Text to Vectors Synthetic data generation, the RAG pipeline, pgvector, LangChain embeddings
03 The Interface Layer MCP server internals, the 3 tools, routing logic, connecting Claude Desktop
04 Run Anywhere Provider agnosticism — swap OpenAI for Ollama with one env var; cost and privacy trade-offs
05 Real Data In MinIO, S3-compatible object storage, implementing the S3 ingest stub, deduplication
06 Built to Last Terraform/OpenTofu on Azure, App Service, PostgreSQL Flexible, Entra Easy Auth pattern
07 The Developer’s Toolkit REST API + OpenAPI/Swagger, PyCharm debugging, Junie for tests and PEP8, HTTP Request files
08 What Should We Measure? LLM and RAG-specific metrics, Grafana + OpenTelemetry landscape, dashboard design
09 Wiring It Up OpenTelemetry instrumentation, docker-compose additions, live Grafana dashboards
10 Trust, but Verify Validation strategies, drift detection, CSAT as a ground-truth signal, SLOs for AI systems
11 What’s Next GitAgent, LangGraph, Azure AI Foundry — comparing what we built with the emerging landscape
12 The Agent Harness gitagent.sh hands-on: connecting an agent harness to this codebase, what changes when an agent has the run of the repo