This is a curated collection of my writing on text embeddings, sparse retrieval, vector databases, and semantic search architecture.

If you’re building search systems or RAG pipelines, start here.

I’ve spent the last couple of years deep in the embedding world — training tiny Arabic models, implementing BM25 from scratch, and building hybrid search that actually works for Arabic text. This series covers both theory and code, from sparse embeddings to dense retrieval and everything in between.

Each article builds on the last — start with BM25 if you’re new, then move to late interaction and HyperRun once you’ve got the foundations down.

← Back to all blog posts