$ ls -la ./blog

[tools] building with the claude sdk — tools, mcp, and what i've learned Jan 2026

a practical look at building production systems with the anthropic claude sdk — tool use, streaming, mcp servers, and the projects i've shipped with it.

claude · anthropic · mcp · tool-use · python 7 min read
[tools] mcp servers: giving ai agents real tools Jan 2026

how i built an mcp server to expose 40+ gitlab operations as structured tools for ai clients — the protocol, the architecture, and what surprised me.

mcp · agents · api · python 5 min read
[engineering] building multi-agent systems with langchain May 2025

a deep dive into designing production multi-agent architectures — task routing, memory management, tool orchestration, and the pitfalls i hit along the way.

llms · agents · python · langchain 8 min read
[engineering] rag pipelines: from prototype to production Mar 2025

what actually changes when you move a rag system from a notebook to prod — chunking strategies, embedding choices, reranking, and async retrieval at scale.

rag · chromadb · fastapi · python 6 min read
[engineering] fine-tuning llms on custom datasets Feb 2025

a practical guide to fine-tuning open-source llms using peft and qlora — from dataset curation and formatting to training and quantised inference.

llms · fine-tuning · pytorch · qlora 10 min read
[engineering] diffusion models from scratch Dec 2024

implementing ddpm in pytorch from first principles — the math behind forward and reverse diffusion, noise schedules, and training a small image model.

diffusion · pytorch · generative-ai · deep learning 12 min read