Build Your First Software Factory Execution Harness

Oct 1, Reserve a seat
Resources

Free articles,
courses, and events.

Interactive courses, ebooks, and deep dives. Filter by type or skim the whole feed.

Create your free account

or use email

By continuing, you accept our Terms and Privacy Policy.

Already have an account? Sign in

Course27 lessons

Advanced RAG Course: Build Text to SQL Agentic AI System

Build production agentic AI systems, from architecture to deployment.

Start learning
Course26 lessons

Learn to Build your own Coding Agent (Claude Code)

Reverse-engineer how Claude Code works. Then build your own production AI coding agent from scratch.

Start learning
Course18 lessons

MCP Fundamentals for Engineers

Build MCP servers and clients from scratch. No more glue code.

Start learning
Course22 lessons

Python for GenAI Engineering

Every AI tutorial assumes you know Python. This one doesn't.

Start learning
Course18 lessons

RAG Fundamentals for Everyone

Master the core building blocks of RAG, from embeddings to agentic retrieval.

Start learning
Course50 lessons

Ultimate PostgreSQL Bootcamp: Go from Beginner to Expert

From SELECT to production PostgreSQL mastery on 100k+ real e-commerce orders.

Start learning
Course35 lessons

Learn AI Agents from Scratch

Build AI agents with pure Python. No LangChain. No CrewAI. No magic.

Start learning
Course49 lessons

Advanced Design Patterns in AI Agents

Battle-tested agent patterns. The reference guide that didn't exist until now.

Start learning
Course9 lessons

Multi-agent document analysis with LangGraph

Orchestrate specialized agents with LangGraph to analyze documents at production quality.

Start learning
Course12 lessons

Building persistent AI assistants with Telegram

Build a Telegram AI assistant that remembers, uses tools, and runs its own background tasks.

Start learning
Course14 lessons

LLM Observability with Arize Phoenix

Emit JSON logs with request IDs and OpenTelemetry spans across every tool call so you can click a trace and see exactly what your agent did.

Start learning
Course15 lessons

Introduction to FastAPI

Build a production-shaped FastAPI service with typed endpoints, Pydantic models, and a lifespan that loads a model once.

Start learning
Course23 lessons

GenAI Masterclass: Go from Zero to One

6 hands-on projects. 6 core AI skills. Zero fluff.

Start learning
Course18 lessons

Prompt Engineering Crash Course

The prompting techniques senior AI engineers use daily, and most tutorials skip.

Start learning
Course16 lessons

Build your own AI assistant from scratch

Write your own AI assistant in Python, one short file at a time. From one API call to a multi-agent system that remembers you, runs commands safely, and keeps its own schedule.

Start learning
Course16 lessons

Build your own Redis in Python

Write your own Redis in Python, one short file at a time. Sockets, the wire language, the store, expiry, persistence, fan-out, and a backup machine. Every line is yours to read.

Start learning
Course15 lessons

Build your own Redis in Go

Write your own Redis in Go, one short main.go at a time. Sockets, the wire language, the store, expiry, persistence, fan-out, and a backup machine. Pure standard library.

Start learning
Course15 lessons

Build your own Redis in Node.js

Write your own Redis in Node.js, one short .mjs at a time. Sockets, the wire language, the store, expiry, persistence, fan-out, and a backup machine. Pure standard library.

Start learning
Course15 lessons

Build your own Redis in Rust

Write your own Redis in Rust on tokio, one short crate at a time. Sockets, the wire language, the store, expiry, persistence, fan-out, and a backup machine.

Start learning
Course15 lessons

Build your own Redis in Ruby

Write your own Redis in Ruby, one short server.rb at a time. Sockets, the wire language, the store, expiry, persistence, fan-out, and a backup machine. Pure standard library.

Start learning
Course15 lessons

Build your own Redis in Elixir

Write your own Redis in Elixir on the BEAM, one short server.exs at a time. Sockets, the wire language, the store, expiry, persistence, fan-out, and a backup machine.

Start learning
Course80 lessons

Backend engineer bootcamp: Go from zero to hero

Become the engineer who can ship the server, not just the screen.

Start learning
Course65 lessons

Frontend Masterclass for Software Engineers

Make the modern frontend stack finally make sense. From raw DOM to a Fullstack app you actually understand.

Start learning
Course20 lessons

Backend engineer career accelerator program

Become the backend engineer who can defend every design choice in a senior interview.

Start learning
Course9 lessons

Streaming LLM Applications with FastAPI

Stream LLM responses in real-time and master prompt engineering fundamentals.

Start learning
Course6 lessons

Structured data extraction with vision LLMs and Pydantic

Extract structured data from images with vision LLMs and Pydantic validation.

Start learning
Course6 lessons

Hybrid document search with Qdrant and Sentence Transformers

Hybrid retrieval with dense vectors, sparse keywords, RRF fusion, and cross-encoder reranking.

Start learning
Course9 lessons

RAG systems with ChromaDB and cross-encoder reranking

Build a grounded RAG chatbot with ChromaDB, web scraping, and cross-encoder reranking.

Start learning
Course22 lessons

Advanced RAG with query rewriting and evaluation

Add query rewriting, sub-graphs, PII scrubbing, and RAGAS scoring to a production RAG pipeline.

Start learning
Course9 lessons

Multi-agent systems with AutoGen GroupChat

Orchestrate specialist agents with AutoGen GroupChat and a supervisor router.

Start learning
Course10 lessons

Building voice AI agents with LiveKit and Deepgram

Build a real-time voice AI agent with LiveKit, Deepgram, and tool calling.

Start learning
Course9 lessons

Multi-agent voice systems with LiveKit

Orchestrate specialized voice agents that hand off conversations without losing context.

Start learning
Course14 lessons

Search-augmented generation with web scraping

Search the web, extract article content with BeautifulSoup, and synthesize cited answers with LLMs, like building a mini Perplexity.

Start learning
Course15 lessons

Local voice transcription with Whisper and LLM post-processing

Record audio in the browser, transcribe locally with Whisper, and clean output with an LLM pipeline.

Start learning
Course15 lessons

Vectorless RAG with Hierarchical Document Trees

Skip the vector database. Navigate document trees with an LLM agent and get cited answers.

Start learning
Course15 lessons

Building RAG applications with Next.js and the Vercel AI SDK

Implement direct LLM chat, native tool RAG, and LangChain vector RAG in one Next.js app with the Vercel AI SDK.

Start learning
Course15 lessons

Video QA with transcript search and timestamp citations

Build a grounded YouTube video Q&A assistant with hybrid retrieval and clickable timestamps.

Start learning
Course15 lessons

Long document RAG with conversational memory

Build a conversational AI tutor over long PDFs with chapter-aware chunking and memory-backed retrieval.

Start learning
Course15 lessons

Building multi-provider LLM apps with OpenRouter

Swap OpenAI, OpenRouter, Gemini, and Ollama behind one chat() function with automatic fallback.

Start learning
Course12 lessons

Stateful agent workflows with LangGraph

Build a long-running, multi-turn agent with typed state, intent routing, and checkpointed memory.

Start learning
Course12 lessons

Conversational state machines with LangGraph

Model multi-turn chat as a typed LangGraph state machine with streaming and thread memory.

Start learning
Course21 lessons

Deploying AI applications with FastAPI and Docker

Production FastAPI patterns for AI apps: SSE, jobs, CORS, probes, logs, Docker, graceful shutdown.

Start learning
Course18 lessons

Building MCP servers for GitHub PR review

Build an MCP server that reviews GitHub pull requests end to end.

Start learning
Course16 lessons

Full-stack agentic AI with Next.js and LangGraph

Ship a multi-step AI agent in one Next.js app with streaming tools and memory.

Start learning
Course20 lessons

Supervisor-routed multi-agent systems with LangGraph

Route user messages to specialist subagents with a LangGraph supervisor and stream each one over SSE.

Start learning
Course16 lessons

Sentiment classification with LLMs and few-shot prompting

Build a multi-task NLP service powered by focused LLM prompts and per-task streaming.

Start learning
Course19 lessons

Graph RAG with LangChain and Neo4j

Build a knowledge graph from raw text, ask natural-language questions over it, and beat vector RAG on multi-hop queries.

Start learning
Course20 lessons

Building coding agents from scratch in Go

Build a zero-dependency coding agent in Go with tool calling, safety guards, and a distroless binary.

Start learning
Course24 lessons

Enterprise RAG infrastructure with Kubernetes and Ray

Ship a RAG service that survives real production traffic on Kubernetes.

Start learning
Course17 lessons

Build an RBAC-gated RAG chatbot

Role-gated RAG chatbot: per-role document walls, session auth, rate limits, and an admin panel.

Start learning
Course22 lessons

Real-time phone agents with FastRTC

Ship a real-time phone voice agent over WebRTC with FastRTC, Whisper, and swappable TTS.

Start learning
Course21 lessons

Layered production AI architecture

Architect an agent as seven composable layers with per-request traces.

Start learning
Course9 lessons

Data engineering foundations with the medallion pattern

Bronze, silver, gold warehouse patterns with DuckDB and pandas, rehearsed on a real dataset before you touch Airflow or Spark.

Start learning
Course9 lessons

Production data pipelines with Airflow, Spark, and FastAPI

Orchestrate batch pipelines with Airflow and Spark, gate them with Great Expectations, and front the warehouse with a FastAPI control plane that triggers DAGs and serves datasets.

Start learning
Course9 lessons

Enterprise data platform from ingestion to governance

Run a twenty-service production data platform end to end: batch, streaming, warehouse, ML tracking, lineage, observability, and a typed FastAPI control plane.

Start learning
Course17 lessons

AWS Glue and PySpark ETL on a real flight dataset

Write a PySpark transform that runs identically locally and on AWS Glue 4.0. Ship via CodeBuild, validate with a local smoke run, and skip the surprise DPU bills.

Start learning
Course26 lessons

AWS lakehouse with Apache Iceberg, Glue, and Snowflake

Lambda to S3 to Glue PySpark to Iceberg in the Glue Data Catalog, queried by Snowflake as external tables. Airflow orchestrates. Terraform provisions. CodeBuild ships.

Start learning
Course25 lessons

GCP analytics with BigQuery, dbt, and Cloud Run

GCS to BigQuery to dbt star schema, with Cloud Run hosting the dbt runner and Cloud Build deploying on push. Airflow schedules the run. Terraform owns the infra.

Start learning
Course14 lessons

Personalized recommender systems: Two-tower retrieval to production serving

Build a four-stage personalized recommender: two-tower retrieval, ranking, optional LLM rerank, served by FastAPI on local Postgres, Qdrant, and MLflow.

Start learning
Article11 min read

Which language should you build Redis in?

Which language should you build Redis in? I rebuilt it from scratch in six of them: Python, Go, Node.js, Rust, Ruby, and Elixir. Same architecture every time, t...

Read article

Param Harrison·May 21, 2026

eBookPDF guide

Advanced agentic RAG: Self-improving retrieval

Routing agents, relevance checks, reflection loops. The patterns that turn a RAG prototype into a self-improving system.

Read ebook
eBookPDF guide

Production AI agents: Architecture and operations

Event loops, tool contracts, memory tiers, evals, deploy flags. The agent patterns that survive production load.

Read ebook
eBookPDF guide

Production coding agents: A harness engineering guide

Build a Claude Code-style agent: streaming loop, permission-governed tools, context management, sandboxing.

Read ebook
eBookPDF guide

The architect's handbook for resilient AI systems

The patterns, budgets, and bulkheads that keep an AI system running when the model, the vendor, or the load turns against you.

Read ebook
eBookPDF guide

Systematic debugging: A forensic engineering guide

Stop guessing. Start investigating. The four-phase forensic process for bugs that refuse to die.

Read ebook
eBookPDF guide

Advanced query rewriting for RAG

HyDE, multi-query fan-out, decomposition, step-back. The rewriting layer that rescues vague user queries.

Read ebook
eBookPDF guide

Vector databases for RAG

Indexing, HNSW vs IVF, hybrid wiring, scaling cost, migration. The vector DB reference you pin.

Read ebook
eBookPDF guide

Data preprocessing for RAG pipelines

Clean, normalize, dedup, gate. The preprocessing layer that decides RAG quality before retrieval runs.

Read ebook
eBookPDF guide

Filtering and structured LLM output

JSON schemas, validators, repair loops, grounding checks. Structured output that holds under load.

Read ebook
eBookPDF guide

Summarization strategies for production RAG

Extractive, abstractive, hierarchical, map-reduce. The summarization strategies that survive long context and tight budgets.

Read ebook
eBookPDF guide

Text data cleaning for RAG pipelines

Unicode, tokenization, encoding, language, PII. The text cleaning rules that keep RAG retrieval honest.

Read ebook
eBookPDF guide

Secure shell execution for coding agents

Sandbox, timeout, allowlist, audit. The shell layer that lets a coding agent run commands without burning the host.

Read ebook
eBookPDF guide

Building a web UI for your coding agent

Streaming, tool events, state visualization, error recovery. The UX patterns that make coding agents usable.

Read ebook
eBookPDF guide

Advanced document processing for RAG

Layout-preserving PDFs, AST-aware code, table extraction, multi-modal. The parsing layer RAG needs for real docs.

Read ebook
Article9 min read

Query anonymization for RAG bias mitigation

Your RAG returns different answers depending on whether the user's name sounds senior A junior engineer asks "how do I approve this PR?" The retriever pulls th...

Read article

Param Harrison·Apr 8, 2026

Article9 min read

pip vs uv vs poetry for Python AI services

Choosing between pip, uv, and poetry for a Python AI service comes down to three things: how fast it installs, how trustworthy its lockfile is, and how long you...

Read article

Asep Bagja Priandana·Apr 7, 2026

Article8 min read

Retry patterns for LLM API errors in production

Your agent retries a 400 Bad Request 5 times and your bill shows it The user sent a malformed prompt. Your agent got back a 400 Bad Request. Your retry loop di...

Read article

Ahmed Aleryani·Apr 6, 2026

Article8 min read

Choosing the LLM judge for evaluation pipelines

Your eval scores are garbage because you picked the wrong judge You built an LLM-as-judge eval pipeline. You picked the cheapest model because "it's just gradi...

Read article

Sunil Samson Suresh·Apr 5, 2026

Article9 min read

Ground truth vs relevancy in RAG evaluation

Your RAG scores 95 percent on relevancy and your users still complain You ran RAGAs. Relevancy came back at 0.94. You shipped it, declared victory, and opened ...

Read article

Sunil Samson Suresh·Apr 4, 2026

Article8 min read

Pydantic output structuring for RAG agent plans

Your RAG planner returns a different JSON shape every single call You asked the LLM to "return a plan as JSON." On call 1 it returned {"steps": [...]}. On call...

Read article

Sunil Samson Suresh·Apr 3, 2026

Article8 min read

Hallucination testing for RAG pipelines

Your RAG pipeline never says "I don't know" and you wonder if it is hallucinating Your pipeline handles every query confidently. Users ask in-scope questions a...

Read article

Sunil Samson Suresh·Apr 2, 2026

Article8 min read

Testing and evaluating RAG pipelines end to end

Your RAG pipeline has zero tests and you ship changes by running curl manually Your RAG pipeline works. You know because you ran 3 curl commands against the /c...

Read article

Sunil Samson Suresh·Apr 1, 2026

Article8 min read

Fact-checking RAG answers: grounding with verification

Your RAG answer sounds confident and is partly made up Your RAG pipeline retrieved the right chunks. The LLM wrote a fluent, confident answer. A user points ou...

Read article

Param Harrison·Mar 31, 2026

Article8 min read

Query rewriting in RAG with LLMs: the rewrite loop

Your users ask "how does this work" and your retriever returns random chunks The user types "how does this work". Your retriever embeds the string and returns ...

Read article

Param Harrison·Mar 30, 2026

Article8 min read

LLM-based content filtering for RAG pipelines

Your retriever returns 10 chunks and 6 of them are noise Your RAG retriever returns the top 10 chunks by vector similarity. You send all 10 to the final LLM. T...

Read article

Sunil Samson Suresh·Mar 29, 2026

Article8 min read

Retriever k-value tuning for RAG: the right top-k

Your retriever returns 5 chunks because the tutorial said 5 Every RAG tutorial uses k=5 for top-k retrieval. You shipped with k=5 because that is what the tuto...

Read article

Sunil Samson Suresh·Mar 28, 2026

Article8 min read

Combining vector stores in RAG: multi-source retrieval

Your RAG pipeline needs docs from 3 sources and you put them all in one index Your agent needs to answer questions using internal docs, a public knowledge base...

Read article

Sunil Samson Suresh·Mar 27, 2026

Article8 min read

FAISS vector stores in production RAG

You reached for Pinecone before checking if FAISS already does the job You started a new RAG project. The tutorial you followed used Pinecone. You signed up, g...

Read article

Sunil Samson Suresh·Mar 26, 2026

Article8 min read

Real-time agent debugging with Langfuse traces

The user reported a bug 3 minutes ago and you are still looking for the trace Slack ping: "My chat just gave me a wrong answer." You open Langfuse. You search ...

Read article

Sunil Samson Suresh·Mar 25, 2026

Article9 min read

Agent cost optimization from trace data

Your OpenAI bill doubled last month and you don't know why You opened the invoice. It is double last month's. Usage is up but not 2x. You have 1000 traces a da...

Read article

Sunil Samson Suresh·Mar 24, 2026

Article8 min read

Langfuse + Grafana: agentic AI monitoring

You have Langfuse for traces, Prometheus for metrics, and no single view You wired Langfuse into your agent and can now debug any individual trace. You also ad...

Read article

Sunil Samson Suresh·Mar 23, 2026

Article8 min read

Prometheus performance analysis for agentic AI systems

Your p95 latency is 8 seconds and you have no idea which step is slow Users complain the agent is slow. Your dashboard shows p95 at 8 seconds. You open the tra...

Read article

Ahmed Aleryani·Mar 22, 2026

Article8 min read

Stress testing agentic AI systems beyond the laptop

Your agent works on your laptop and dies at 50 concurrent users You tested your agent by sending curl requests one at a time. All 10 requests worked. You shipp...

Read article

Ahmed Aleryani·Mar 21, 2026

Article8 min read

Automated evaluation pipelines for agentic AI systems

You built an eval framework and nobody runs it You shipped LLM-as-a-judge. You shipped Ragas. You shipped a custom metric registry. All 3 work. Nobody on your ...

Read article

Sunil Samson Suresh·Mar 20, 2026

Article8 min read

Dynamic evaluation metric loading in Python

Your eval pipeline hardcodes metrics and you cannot add one without redeploying Your eval script imports RAGAS faithfulness, context precision, and answer rele...

Read article

Sunil Samson Suresh·Mar 19, 2026

Article9 min read

LLM judges: enforcing reasoning with explicit rationales

Your LLM judge scored the same output 4 and 2 on two different runs You ran the eval. Your judge gave an output a 4 on correctness. You re-ran the eval with th...

Read article

Sunil Samson Suresh·Mar 18, 2026

Article9 min read

LLM-as-a-judge: production evaluation framework for agents

You ship agent changes and measure quality by vibes Your team shipped an agent update. The retrieval looks better in a handful of queries you spot-checked. You...

Read article

Sunil Samson Suresh·Mar 17, 2026

Article8 min read

Docker Compose for the full AI agent stack

Setting up the agent stack on a new laptop takes half a day A new engineer joins your team. Their first day looks like: install Postgres, install Redis, clone ...

Read article

Asep Bagja Priandana·Mar 16, 2026

Article8 min read

Docker secrets management for agentic AI services

Your OpenAI API key is baked into the Docker image and someone just cloned it You needed to pass an API key to a build step. You ran docker build --build-arg O...

Read article

Ahmed Aleryani·Mar 15, 2026

Article8 min read

Docker build errors: troubleshooting AI service Dockerfiles

Your Docker build worked yesterday and now fails with a 500-line error trace You added one dependency. docker build now fails 4 minutes in with a wall of gcc e...

Read article

Asep Bagja Priandana·Mar 14, 2026

eBookPDF guide

The RAG Cheatsheet

The production RAG reference. Chunking, retrieval, reranking, evaluation, failure modes.

Read ebook
Article7 min read

FastAPI CORS for production agentic APIs

Your frontend gets CORS errors and you set allow_origins=[""] to make them go away Your agent API lives on api.yourservice.com. Your frontend lives on app.your...

Read article

Ahmed Aleryani·Mar 13, 2026

Article8 min read

FastAPI lifespan for agentic services: startup and shutdown

Your LLM client is instantiated at module import time and you wonder why deploys are flaky Your agent service has client = AsyncAnthropic() at the top of llm.p...

Read article

Ahmed Aleryani·Mar 12, 2026

Article9 min read

Async context management in Python AI services

Your service leaks database connections until it dies at 2am Your FastAPI agent service runs fine for hours. Then it starts returning 500s. Logs say QueuePool ...

Read article

Asep Bagja Priandana·Mar 11, 2026

Article8 min read

FastAPI + LangGraph: production chatbot API pattern

Your LangGraph demo works in a notebook and breaks behind FastAPI You prototyped your chatbot in a Jupyter notebook with LangGraph. State flows through the gra...

Read article

Ahmed Aleryani·Mar 10, 2026

Article9 min read

FastAPI dependency injection for agentic API auth

Every route handler re-parses the JWT, re-hits the database, and you can't test any of it You shipped JWT auth for your agent API. Every route handler starts w...

Read article

Ahmed Aleryani·Mar 9, 2026

Article9 min read

Postgres state persistence for agentic systems

Your agent restarts and every conversation disappears A user is mid-conversation with your agent. You ship a deploy. The container restarts. The user sends the...

Read article

Ahmed Aleryani·Mar 8, 2026

Article9 min read

Service layer for AI agents: decoupling logic from routes

Your route handler is the agent loop and you cannot test either Open your agent's /chat route. It is 180 lines. It parses the request, validates auth, loads a ...

Read article

Ahmed Aleryani·Mar 7, 2026

Article9 min read

Dockerizing AI systems: a layered image approach

Your AI service image is 2.8 GB and takes 12 minutes to pull You Dockerized your agent service the way every tutorial shows: FROM python:3.12, COPY . ., RUN pi...

Read article

Asep Bagja Priandana·Mar 6, 2026

Article9 min read

Production env variable parsing in Python AI services

Your env vars are strings and your bugs prove it You set MAX_RETRIES=3 in your .env file. Your Python code reads os.environ.get('MAX_RETRIES') and passes it to...

Read article

Asep Bagja Priandana·Mar 5, 2026

Article10 min read

Modular architectures for agentic AI: 4 layer pattern

Your agent codebase is a 900-line main.py and nobody wants to touch it You started with one file. Prompt, tool registry, agent loop, FastAPI routes, database s...

Read article

Ahmed Aleryani·Mar 4, 2026

Article10 min read

Prometheus metrics for agentic AI observability

Your agent is slow and you have no dashboard A user complains that the agent got slower over the last week. You check your logs. You grep for latency. You find...

Read article

Ahmed Aleryani·Mar 3, 2026

Article11 min read

Stateful agents with LangGraph: beyond linear chains

Your LangChain chain was fine until you needed a loop You built your first agent with a LangChain chain. Prompt template, LLM, output parser, done. It worked f...

Read article

Ahmed Aleryani·Mar 2, 2026

Article11 min read

Circuit breakers for LLM calls: stop cascading failures

When the LLM provider went down, your whole agent went with it OpenAI had a 20-minute incident. Your service has retry logic with 3 attempts and exponential ba...

Read article

Ahmed Aleryani·Mar 1, 2026

Article9 min read

Resilient LLM services with Tenacity and fallback models

Your agent goes down every time OpenAI has a bad afternoon A provider has a bad 30 minutes. Your agent starts returning 500s to users. Your on-call pager fires...

Read article

Ahmed Aleryani·Feb 28, 2026

Article11 min read

Context window management for production AI agents

Your agent works great until it doesn't, around message 40 The first 30 messages of an agent conversation are smooth. Then around message 40 or 50, quality dro...

Read article

Param Harrison·Feb 27, 2026

Article11 min read

Input sanitization for agentic APIs

Your frontend validates, your backend trusts, and now you have a problem Your frontend has beautiful input validation. Max length is 500 characters. No HTML. N...

Read article

Ahmed Aleryani·Feb 26, 2026

Article11 min read

API versioning for agentic services: a practical guide

You broke the API and nobody will let you ship again You added a required field to a response. Nothing crazy, just a metadata object that was nice-to-have on t...

Read article

Ahmed Aleryani·Feb 25, 2026

Article10 min read

uv for production AI: beyond requirements.txt

pip install takes 4 minutes and you do it 15 times a day You just added langchain to your production AI agent project. pip install runs for 4 minutes. You add ...

Read article

Asep Bagja Priandana·Feb 24, 2026

Article10 min read

Langfuse integration for agentic AI tracing

Your agent answered wrong and you have no idea why A user screenshots a bad answer and posts it in Slack. You ask which session. You get the ID. You grep produ...

Read article

Ahmed Aleryani·Feb 23, 2026

Article11 min read

Sub-graphs in LangGraph for complex RAG queries

Your RAG graph has 18 nodes and you cannot find anything You started with a clean 6-node RAG graph. Then you added a reranker (+1 node). Then grounding (+2 nod...

Read article

Param Harrison·Feb 22, 2026

Article10 min read

Visualizing RAG pipelines with LangGraph StateGraph

Your RAG pipeline is a mental model nobody shares Your RAG pipeline has 7 steps: query rewrite, vector retrieve, rerank, quote extract, grade, generate, and fa...

Read article

Param Harrison·Feb 21, 2026

Article11 min read

Chain-of-thought reasoning in RAG: a practical guide

Your RAG answers look confident and are half wrong You ask your RAG system "which 2 services were affected by the outage and why?" It returns a confident parag...

Read article

Sunil Samson Suresh·Feb 20, 2026

eBookPDF guide

AI Engineer Interview Prep Guide

The reference for AI engineering interviews: scope by level, recurring questions, system design patterns, and portfolio shapes.

Read ebook
Article11 min read

Choosing an embedding model for RAG

You picked an embedding model off a leaderboard and shipped. Now retrieval is bad. You picked the top embedding model from the MTEB leaderboard, shipped it, an...

Read article

Sunil Samson Suresh·Feb 19, 2026

Article11 min read

RecursiveCharacterTextSplitter: a deep dive for RAG

Your retriever is returning half-sentences and you wonder why Your RAG pipeline chunks documents at every 500 characters with a fixed splitter, not a recursive...

Read article

Sunil Samson Suresh·Feb 18, 2026

Article11 min read

Persistent memory for coding agents: cross-session context

Your agent forgets everything between sessions and it's driving you crazy You tell your agent "we use pytest, not unittest, and all our services live under src...

Read article

Ahmed Aleryani·Feb 17, 2026

Article12 min read

Custom tools for coding agents: beyond the built-ins

Your agent keeps reimplementing the same helper, poorly Your agent has read_file, edit_file, run_bash. You ask it to "find all callers of validate_token and ad...

Read article

Ahmed Aleryani·Feb 16, 2026

Article10 min read

ripgrep for coding agents: fast code search at scale

Your agent's grep is reading binary files and returning node_modules Your coding agent needs to find usages of a function across the codebase. Your grep tool r...

Read article

Ahmed Aleryani·Feb 15, 2026

Article11 min read

Edit tool design: how coding agents modify files safely

Your agent edited the wrong line and there is no undo You asked the agent to fix the bug on line 42 of auth.py. It ran edit_file with old="validate(token)" and...

Read article

Ahmed Aleryani·Feb 14, 2026

Article11 min read

Docker layer caching: faster agent image builds

Your agent rebuild takes 8 minutes every time you touch one line You change a Python file in your agent. You run docker build. 8 minutes later it finishes. You...

Read article

Asep Bagja Priandana·Feb 13, 2026

Article12 min read

Designing modular tool integrations for coding agents

Your agent had 3 tools and the code was clean. It has 15 now. You started with read_file, edit_file, run_bash. The dispatch block was a 10-line if/elif. Then y...

Read article

Ahmed Aleryani·Feb 12, 2026

Article11 min read

JWT authentication for agentic APIs

Your agent took 30 seconds and your token expired A user kicks off a long agent task. The agent does its planning, calls 3 tools, hits the LLM twice, and final...

Read article

Ahmed Aleryani·Feb 11, 2026

Article11 min read

Rate limiting FastAPI agents: token buckets in production

One curl loop and your agent bill is $2000 You ship your agent. A friendly user writes a benchmarking script. The script hits your /chat endpoint in a tight lo...

Read article

Ahmed Aleryani·Feb 10, 2026

Article10 min read

API schemas: separating db models from API responses

Your API just returned the password hash. Again. A user hits GET /users/me. Your handler loads the user row and returns it. Somewhere in the JSON body you see ...

Read article

Ahmed Aleryani·Feb 9, 2026

Article11 min read

User and session models for multi-tenant AI agents

Your agent is multi-tenant. Your schema is not. You built the agent as a prototype. One user, one conversation, a messages table with a content column, and lif...

Read article

Ahmed Aleryani·Feb 8, 2026

Article10 min read

Connection pooling in production Python AI services

Your agent works at 10 users and dies at 100 You load-test your agent service with 10 concurrent users. Everything is fine. You push it to 100 and the logs fil...

Read article

Ahmed Aleryani·Feb 7, 2026

Article10 min read

SQLModel for agentic AI: beyond JSON blob storage

Your agent's database is a giant JSON blob and you know it Open your agentic AI Postgres. Look at the agent_runs table. You will probably find a data column of...

Read article

Asep Bagja Priandana·Feb 6, 2026

Article11 min read

Hybrid retrieval in RAG: vector + graph search

Pure vector search is giving you half the answer You asked your RAG system "which customers did the new pricing affect, and which contracts are tied to them?" ...

Read article

Param Harrison·Feb 5, 2026

Article11 min read

bash tools for coding agents: safe shell execution

Your coding agent has a shell. Now what? The moment you give a coding agent a run_bash tool, the job changes. You are no longer building a model that produces ...

Read article

Ahmed Aleryani·Feb 4, 2026

Article11 min read

RAGAS evaluation for RAG pipelines: a practical guide

You changed the retriever and you have no idea if it got better You swapped your embedding model, tuned your chunk size, added a reranker, and shipped. A week ...

Read article

Sunil Samson Suresh·Feb 3, 2026

Article12 min read

Agentic RAG with LangGraph: planning, rewriting, tool use

Your RAG pipeline can't reason because you built a straight line Your first RAG pipeline is a straight line, not agentic, not planning anything: embed the ques...

Read article

Param Harrison·Feb 2, 2026

Article12 min read

Dynamic RAG: re-planning retrieval strategies mid-pipeline

Single-pass RAG is the reason half your hard questions fail You ask your RAG system "what changed in the auth flow between v3 and v4 and why?" The retriever fe...

Read article

Param Harrison·Feb 1, 2026

Article11 min read

JSON output parsing for RAG: grounding with Pydantic

Your RAG answer looked right and was still wrong You retrieve 5 chunks. You stuff them into a prompt that says "answer the question using only this context." Y...

Read article

Param Harrison·Jan 31, 2026

Article11 min read

LangChain chain types: stuff vs map reduce vs refine

You picked chain_type='stuff' and your summary crashed above 50 pages You wired up a LangChain summarization chain in 5 minutes. It worked great on the test PD...

Read article

Param Harrison·Jan 30, 2026

Article11 min read

Advanced RAG: quote extraction for context compression

Your RAG system sends whole pages when it should send sentences Your advanced RAG pipeline retrieves 5 chunks, each 800 tokens long. Total context: 4,000 token...

Read article

Param Harrison·Jan 29, 2026

Article12 min read

Build a coding agent with Claude: a step-by-step guide

The first coding agent you build should fit in 100 lines Most people learn coding agents the wrong way around. They install a framework, run a demo, and end up...

Read article

Param Harrison·Jan 28, 2026

Article11 min read

Docker non-root user: securing your agentic AI container

Your agent container is running as root and you probably did not notice Pull any popular Python base image. Run docker run -it python:3.12 whoami. The answer i...

Read article

Ahmed Aleryani·Jan 27, 2026

Article12 min read

LangGraph persistence: thread models for production agents

Your LangGraph agent forgot everything when the server restarted You built a multi-step agent in LangGraph. It plans, calls tools, refines, and replies. On you...

Read article

Ahmed Aleryani·Jan 26, 2026

Article12 min read

The event loop inside a coding agent: how it thinks

A coding agent is just a while loop you have not written yet Open up Claude Code, Cursor's agent mode, or Aider. Watch one work for 30 seconds. It reads a file...

Read article

Param Harrison·Jan 25, 2026

Article11 min read

.env.development vs .env: config for agentic AI systems

The most common way agent teams leak API keys Your agent has one .env file for every environment. It holds your real OpenAI key, your real Postgres URL, and DE...

Read article

Asep Bagja Priandana·Jan 24, 2026

Article11 min read

FastAPI and Uvicorn for production agentic AI systems

You shipped an agent. Then you shipped it twice. Your agent works perfectly on your laptop. You wrap it in a FastAPI route, run uvicorn main:app --reload, send...

Read article

Ahmed Aleryani·Jan 23, 2026

Article25 min read

System design for production AI chatbots

What is The challenge? "Build a chatbot" is the new "Build a URL shortener." It sounds like a junior interview question, but in 2024, it is a distributed syste...

Read article

Param Harrison·Jan 22, 2026

Article25 min read

Building penny: a private, deterministic financial agent

We've all had the same thought: "I wish I could upload my bank statements, credit card bills, and investment portfolio to ChatGPT and just ask it to fix my fina...

Read article

Param Harrison·Nov 27, 2025

Article25 min read

The intelligence layer of a code-review AI agent

In [Part 1](/blog/architecting-coderabbit-ai-agent-at-scale), we built the Ingestion Engine to handle webhook storms and filter noise. In [Part 2](/blog/archit...

Read article

Param Harrison·Nov 26, 2025

Article23 min read

The orchestration brain of a code-review AI agent

In [Part 1](/blog/architecting-coderabbit-ai-agent-at-scale), we built the "Eyes and Ears" of our system. We learned how to ingest events, filter noise, build c...

Read article

Param Harrison·Nov 25, 2025

Article22 min read

Architecting a CodeRabbit-style AI agent at scale

Building a tool that reviews code is not just about prompting an LLM. It is a massive data pipeline problem. At production scale, you face three immediate kill...

Read article

Param Harrison·Nov 24, 2025

Article24 min read

Building a multilingual AI receptionist for production

For a pet hotel, a missed call is a missed booking. For a medical clinic, a language barrier is a lost patient. For any service business, an AI receptionist isn...

Read article

Param Harrison·Nov 23, 2025

Article27 min read

Building a multi-agent voice roundtable

We have mastered the 1:1 voice agent. You speak, it answers. Simple. Clean. But real-world problem solving rarely happens in isolation. Imagine entering a voic...

Read article

Param Harrison·Nov 22, 2025

Article19 min read

Designing memory systems for AI agentic applications

In our previous posts, we built agents that can "think" (reasoning) and "act" (tools). But they still have a fatal flaw: Amnesia. If you tell your agent, "My n...

Read article

Param Harrison·Nov 20, 2025

Article8 min read

Domain-specific voice flows: building the guardrails

Voice data is messy. Users mumble, interrupt, go off-topic, and answer questions you haven't asked yet. If you are building a "chatty" companion, this is fine....

Read article

Param Harrison·Nov 20, 2025

Article7 min read

Multi-agent voice systems: the warm transfer

In text-based chatbots, "routing" is invisible. You click "Support," and the backend silently switches endpoints. In Voice AI, routing is a human experience. T...

Read article

Param Harrison·Nov 19, 2025

Article7 min read

Voice conversation memory: why your bot forgets who you are

In a text chatbot, "memory" is easy. If the user scrolls up, they see the history. If the bot forgets something, the user can just re-read the previous messages...

Read article

Param Harrison·Nov 18, 2025

Article7 min read

Voice AI fundamentals: the 500ms threshold

In our previous text-based agents, a 2-second delay was acceptable. The user sees a "typing..." indicator and waits. In Voice AI, 2 seconds is an eternity. If...

Read article

Param Harrison·Nov 17, 2025

Article8 min read

Browser automation: building agents that see and click

In our previous posts, we mastered RAG (see our [RAG introduction](/blog/rag-retrieval-augmented-generation-giving-llms-open-book)). RAG allows agents to read y...

Read article

Param Harrison·Nov 16, 2025

Article7 min read

Workflow orchestration with LangGraph

In the previous posts, we discussed agents as abstract concepts (see our [multi-agent coordination guide](/blog/multi-agent-coordination-patterns)). Now, let's ...

Read article

Param Harrison·Nov 15, 2025

Article7 min read

Human-in-the-loop: when AI needs human oversight

We often strive for "fully autonomous" agents. But in the real world, full autonomy can be dangerous. If you are building a Legal Case Intake bot, a Financial ...

Read article

Param Harrison·Nov 14, 2025

Article8 min read

Multi-agent coordination patterns: beyond the god agent

In our previous posts, we mastered the single agent. We gave it tools (see our [tool calling guide](/blog/giving-your-llm-hands-deep-dive-tool-calling)), memory...

Read article

Param Harrison·Nov 13, 2025

Article7 min read

RAG optimization: speed, cost, and quality

In our [last post](/blog/multi-hop-rag-query-decomposition), we built a powerful, multi-hop RAG agent. It's smart, it's complex, and it's... slow. And expensive...

Read article

Sunil Samson Suresh·Nov 12, 2025

Article7 min read

Multi-hop RAG: when one retrieval isn't enough

In our [last post](/blog/production-rag-handling-failures), we built a resilient agent that can handle tool failures. It's reliable, but it's still "dumb." It c...

Read article

Param Harrison·Nov 11, 2025

Article7 min read

Production RAG: handling edge cases and failures

In our [last post](/blog/rag-evaluation-metrics-that-matter), we learned how to measure our RAG agent's quality. We built a "golden set" and used RAGAs to score...

Read article

Param Harrison·Nov 10, 2025

Article7 min read

RAG evaluation: metrics that actually matter

In our previous posts, we've built a complete, self-correcting RAG agent (see our [RAG agent series](/blog/why-your-simple-rag-is-failing)). We've added routing...

Read article

Sunil Samson Suresh·Nov 9, 2025

Article8 min read

Assembling and running your thinking RAG agent

In our [last post](/blog/building-self-correcting-rag-agent), we built all the "thinking" nodes for our agent: the Router, the Grader, and the Generator. We hav...

Read article

Param Harrison·Nov 8, 2025

Article7 min read

Building a self-correcting RAG agent

In our [last post](/blog/building-agent-brain-with-langgraph), we built the foundation for our advanced RAG agent. We defined its "memory" (GraphState) and its ...

Read article

Param Harrison·Nov 7, 2025

Article6 min read

Building an agent's brain with LangGraph

In our [last post](/blog/why-your-simple-rag-is-failing), we proved that a simple, linear RAG pipeline is "brittle." It fails when a user's question requires in...

Read article

Param Harrison·Nov 6, 2025

Article6 min read

Why your simple RAG is failing (and what to do about it)

In our previous projects, we built a RAG (Retrieval-Augmented Generation) pipeline. It follows a simple, linear checklist: 1. Retrieve documents. 2. Stuff them...

Read article

Param Harrison·Nov 5, 2025

Article8 min read

Vertical vs. Horizontal agent communication: MCP vs. A2A

In our [last post](/blog/function-calling-vs-mcp-direct-request-vs-conversational-protocol), we explored how a single agent talks to its "hands" (tools) using t...

Read article

Param Harrison·Nov 4, 2025

Article9 min read

Function calling vs. MCP: the direct request vs. The conversational protocol

In our previous posts, we've built agents that can reason and even critique their own work (see our [self-critique guide](/blog/prompt-engineering-self-critique...

Read article

Param Harrison·Nov 3, 2025

Article10 min read

The decoupled agent: a guide to MCP

In our [last post](/blog/giving-your-llm-hands-deep-dive-tool-calling), we built a "Tool Calling" agent. It's a powerful pattern, but it has a massive, hidden f...

Read article

Param Harrison·Nov 2, 2025

Article8 min read

Giving your LLM hands: a deep dive on tool calling

Welcome back to our AI engineering series. In our first projects, we've treated LLMs as brilliant "brains in a jar." They can talk, they can reason, they can ev...

Read article

Param Harrison·Nov 1, 2025

Article10 min read

The 'brain' of RAG: a guide to embeddings & vector databases

In our last posts, we've built RAG pipelines (see our [introduction to RAG](/blog/rag-retrieval-augmented-generation-giving-llms-open-book)), chosen frameworks ...

Read article

Sunil Samson Suresh·Oct 31, 2025

Article13 min read

How to choose your vector database

In our previous posts, we've built RAG pipelines from scratch (see our [introduction to RAG](/blog/rag-retrieval-augmented-generation-giving-llms-open-book) and...

Read article

Sunil Samson Suresh·Oct 30, 2025

Article10 min read

Batteries-included RAG platforms: Dify vs. RagFlow vs. Onyx

In our previous posts, we've learned how to build agents from the "Build-it-Yourself" kits: LangChain and LlamaIndex (see our [RAG framework comparison](/blog/c...

Read article

Param Harrison·Oct 29, 2025

Article10 min read

Choosing your RAG framework: LangChain vs. LlamaIndex vs. Haystack

In our previous projects, we've built agents and pipelines from scratch. We learned that a RAG (Retrieval-Augmented Generation) system is the "open book" that g...

Read article

Param Harrison·Oct 28, 2025

Article13 min read

How to choose an AI agent framework

In our previous posts, we built agents from scratch. We wrote Python functions for tools (see our [ReAct agents guide](/blog/prompt-engineering-react-agents-too...

Read article

Param Harrison·Oct 27, 2025

Article7 min read

Prompt engineering: the coherent author (an autonomous writing agent)

We've built agents that are specific ([explicit instructions](/blog/prompt-engineering-generic-bot-to-expert-agent)), structured ([structured output](/blog/prom...

Read article

Param Harrison·Oct 26, 2025

Article6 min read

Prompt engineering: giving your bot tools to see the world

In our previous posts, we've pushed prompting to its absolute limit. We've taught our AI to be specific ([explicit instructions](/blog/prompt-engineering-generi...

Read article

Param Harrison·Oct 25, 2025

Article6 min read

Self-critique and refinement prompting

We've built bots that are specific ([explicit instructions](/blog/prompt-engineering-generic-bot-to-expert-agent)), formatted ([structured JSON](/blog/prompt-en...

Read article

Param Harrison·Oct 24, 2025

Article6 min read

Prompt engineering: from shallow to substantial answers

We've built bots that are specific ([explicit instructions](/blog/prompt-engineering-generic-bot-to-expert-agent)), formatted ([structured JSON](/blog/prompt-en...

Read article

Param Harrison·Oct 23, 2025

Article5 min read

Chain-of-thought prompting for reasoning

We've built a bot that gives specific answers ([explicit instructions and role prompting](/blog/prompt-engineering-generic-bot-to-expert-agent)) and another tha...

Read article

Param Harrison·Oct 22, 2025

Article7 min read

Structured JSON output from LLM prompts

In our [last post](/blog/prompt-engineering-generic-bot-to-expert-agent), we built a support bot that gives helpful, specific answers. Now, we'll tackle a diffe...

Read article

Param Harrison·Oct 21, 2025

Article7 min read

Prompt engineering: from generic bot to expert agent

Welcome to our prompt engineering series! If you've ever built a bot and been disappointed by its vague, useless answers, this post is for you. This is the fir...

Read article

Param Harrison·Oct 20, 2025

Article8 min read

Choosing the right LLM for each task: from nano to moe

Welcome to the next post in our AI Engineering in Practice series! In our last projects, we built a complete, [streaming RAG agent](/blog/advanced-rag-building...

Read article

Param Harrison·Oct 19, 2025

Article18 min read

Build an AI bedtime story generator

Welcome to our project-based learning series: The AI Application Stack! Our mission: To build a complete AI Bedtime Story Generator. We'll start with the simpl...

Read article

Param Harrison·Oct 18, 2025

Article8 min read

Structured output: making LLMs application-ready

We've seen that LLMs are brilliant. We can ask them a question, and they'll give us a well-written paragraph. But what if you asked an intern to compile a list...

Read article

Param Harrison·Oct 17, 2025

Article7 min read

RAG evaluation: proving your system actually works

We've spent a lot of time building complex RAG systems. We've optimized [chunking](/blog/rag-splitting-techniques-art-of-right-chunk), added [web search](/blog/...

Read article

Sunil Samson Suresh·Oct 16, 2025

Article7 min read

Advanced RAG with tools: using LlamaIndex

In our last lessons, we [built a RAG system from the ground up](/blog/rag-retrieval-augmented-generation-giving-llms-open-book). We had to manage every single s...

Read article

Param Harrison·Oct 15, 2025

Article7 min read

Agentic RAG: building a system that thinks, acts, and corrects

Our previous [RAG systems](/blog/advanced-rag-building-self-correcting-systems) were like diligent interns following a rigid checklist: 1. Retrieve documents 2...

Read article

Param Harrison·Oct 14, 2025

Article8 min read

Advanced RAG: building self-correcting systems

In our last post, we learned about the [standard RAG pipeline](/blog/rag-retrieval-augmented-generation-giving-llms-open-book). For building RAG with frameworks...

Read article

Param Harrison·Oct 13, 2025

Article8 min read

Vector databases and embeddings: the brain of RAG

In our last posts, we learned how to [build a RAG pipeline](/blog/rag-retrieval-augmented-generation-giving-llms-open-book) and how to ["chunk" documents](/blog...

Read article

Sunil Samson Suresh·Oct 12, 2025

Article7 min read

Splitting techniques for RAG: the art of the right chunk

In our last post, we built a [RAG pipeline](/blog/rag-retrieval-augmented-generation-giving-llms-open-book). The most important step, which we glossed over, was...

Read article

Sunil Samson Suresh·Oct 11, 2025

Article9 min read

Retrieval-augmented generation (RAG): giving LLMs an open book

In our last posts, we learned how to [talk to LLMs](/blog/prompt-engineering-how-to-talk-to-llm) (Prompt Engineering) and [what they are](/blog/llm-basics-how-m...

Read article

Param Harrison·Oct 10, 2025

Article8 min read

Prompt engineering: how to talk to an LLM

In the last post, we learned that [LLMs are powerful pattern-matching engines](/blog/llm-basics-how-machines-think). But their output is highly sensitive to the...

Read article

Param Harrison·Oct 9, 2025

Article8 min read

LLM basics: how machines think (and don't)

The big idea: it's all about prediction If you saw the sentence: The dog chased the ___, what word comes next? You probably thought ball, cat, or squirrel. Yo...

Read article

Sunil Samson Suresh·Oct 8, 2025

Article8 min read

Architecting AI agents with execution loops

What challenges do AI agents face? You built a chatbot that can call tools. Now product asks it to autonomously plan multi-step tasks (book travel, update ticke...

Read article

Param Harrison·Oct 7, 2025

Article7 min read

Observability and guardrails for production AI

What is The challenge? Your AI API is live. Usage triples overnight. Suddenly: - You see random 500 errors from the model proxy - Token bills spike - One use...

Read article

Param Harrison·Oct 6, 2025

Article7 min read

Concurrency and resilience in AI systems

What is The challenge? Your product just hit 1,000 concurrent AI sessions. - Some requests hang, others timeout - GPU utilization drops even as queues grow - ...

Read article

Param Harrison·Oct 5, 2025

Article6 min read

Streaming at scale: SSE and WebSockets for AI

What is The challenge? Your chat app's users start typing faster than your LLM replies. - Requests pile up - Some clients disconnect mid-generation - Metrics ...

Read article

Param Harrison·Oct 4, 2025

Article7 min read

Designing AI pipelines beyond the notebook

What is The challenge? You've built an AI summarizer in a notebook. It works great, until 10 users hit it at once. Suddenly: - Latency spikes from 1s → 8s - ...

Read article

Param Harrison·Oct 3, 2025

Article4 min read

Understand how LLMs work for engineering it better

For engineers who use GPT APIs but don’t trust the “it’s magic” answer. Large Language Models (LLMs) like GPT‑4 or Claude aren’t magical. They’re predictive en...

Read article

Sunil Samson Suresh·Oct 2, 2025

Article5 min read

Engineer the behavior of your LLMs in production

LLMs aren’t just “APIs you hit”, they’re probabilistic interfaces you design. This guide shows how to engineer model behavior reliably using: - Prompt contrac...

Read article

Sunil Samson Suresh·Oct 1, 2025