Technical language in software creates two kinds of friction. We use terms as though everyone in the conversation should already understand them. Just as often, we let those terms pass without stopping to ask what someone actually means by them.
I understand why. Clarifying a term slows the conversation down, and most teams are under pressure to keep moving. But no mental model is perfect. When people use the same word with different models in mind, misunderstanding follows. Creating clarity is one of the duties I take seriously as an architect, and I have a persistent need to understand ideas near their foundations, especially the ones that spread quickly.
Embeddings, vector stores, RAG, and GraphRAG are that kind of set right now. They’re often presented as a single stack, and they’re frequently explained in a way that hides the mechanics. I don’t need every implementation detail to work with a concept. I do want a reliable picture of how it works and where its boundaries are.
So this series builds that picture one piece at a time. Each post adds one building block and shows the problem that motivates the next. We’ll start with how language models work, move through how they got here, and end at GraphRAG. Along the way, I’ll flag where the simple explanations stop being true, because those edges are where the architecture decisions live.

How to read this series
Read the posts in order. Each one adds a single building block and ends with the problem the next post solves. You can skip ahead for reference, but you will miss the reasoning that makes the later pieces make sense.
Every post opens with a short recap box listing what you need from earlier posts. If you land on a post directly, start there.
We will use one running example throughout: Harbor & Pine Coffee Co., a small fictional roaster with three locations and a year’s worth of internal documents. The same company appears in each post, and the examples grow more sophisticated as the ideas do.
Where we start
Post 1 begins with a question I think most of us can answer without much thought: how would you describe what makes something a cat? You might start with “a quadruped,” then notice that dogs and horses qualify too. Keep going and a pattern emerges. We describe a concept through many features, and each feature both separates it from some things and connects it to others. That intuition is the starting point for embeddings, and it is where we go next.
Starting points
These are the sources the series leans on, and they’re worth reading alongside it:
- Vaswani et al., “Attention Is All You Need” (2017)
- Mikolov et al., Word2Vec papers (2013)
- Edge et al., “From Local to Global: A GraphRAG Approach to Query-Focused Summarization” (2024)
- Jay Alammar, “The Illustrated Transformer” (2018)

Leave a Reply