Usman Arif
Home Blog

Blog

AI agents, RAG, LLMs, and hard-won lessons from shipping production software.

12 Aug 2026 · 8 min

Shipping AI Agents That Actually Do the Work

Everyone's shipping 'agents' now, and most are a prompt in a for-loop. Here's what actually separates a flashy demo from something you'd trust in production.

30 Jul 2026 · 9 min

RAG in Production: Retrieval Is the Hard Part

Retrieval-Augmented Generation is easy to demo and hard to trust. The model usually isn't hallucinating because it's dumb — it's because you fed it the wrong chunks.

15 Jul 2026 · 6 min

Choosing an LLM in 2026: Stop Asking Which Is Biggest

The 'best model' question is the wrong one. In 2026 the winners route between a fast, cheap model and a frontier one, and let evals — not benchmarks — decide.

1 Jul 2026 · 7 min

MCP: Giving Your LLM Hands (Carefully)

The Model Context Protocol turned 'tool use' from bespoke glue into a standard. Here's what it is, why it caught on so fast, and where the sharp edges hide.

24 Jun 2026 · 6 min

Vector Databases: Do You Actually Need One?

Every RAG tutorial reaches for a shiny vector database. Most apps would be perfectly happy with pgvector and the Postgres they already run.

19 Jun 2026 · 7 min

Evals or It Didn't Happen: Testing LLM Features

You wouldn't ship an API without tests. LLM features are no different — except 'correct' is fuzzy, so you need evals, not just asserts.

18 Jun 2026 · 6 min

Why I Deploy on Fridays (and Live to Tell It)

Hot take: Friday deploys are fine when your pipeline actually trusts you back. A love letter to boring, bulletproof CI/CD.

2 May 2026 · 8 min

FastAPI + Django: Two Great Tastes

When to reach for FastAPI, when Django earns its keep, and how I let them coexist in one product without starting a civil war.

11 Apr 2026 · 7 min

Kubernetes Broke My Brain, Then Fixed My Deploys

A brutally honest tour of the k8s learning curve — the YAML tears, the aha moments, and whether you actually need it (spoiler: maybe not).

5 Mar 2026 · 5 min

The Art of the 3AM Bug: A Field Guide

Every senior dev has a 3am war story. Here is my system for staying calm, reading logs like tea leaves, and not making it worse.

14 Feb 2026 · 6 min

React Server Components, Explained Like I Was Confused Too

I finally get RSCs, so let me save you the six tabs of confusion. What runs where, and why your fetch is in the wrong place.

20 Jan 2026 · 4 min

Docker Layer Caching: The Speedrun

Your builds are slow because your Dockerfile is lying to the cache. Reorder five lines, reclaim minutes on every push.