Blog

Thoughts on software development, system design, and technology

System Design Requirements: What Every System Really Does

Every system in the world does just three things: Move, Store, and Transform data. Understanding this simplifies how you think about design.

5 min read

Agent Task Planning (To-Do Lists) in Google ADK

6 min read

Building Intelligent Agent Teams with Google ADK

A Complete Guide from Zero to Production

adkagent
23 min read

Understanding OAuth 2.0

OAuth 2.0 is an authorization framework that allows applications to access user data from other services without sharing passwords. Think "Sign in with Google" or "Connect with Facebook" - that's OAuth in action.

8 min read

What is a Proxy?

A proxy server acts as a middleman between you (the client) and the websites or services you want to access. Instead of connecting directly to a website, your requests go through the proxy first. This is like when you go to a store, but instead of talking directly to the clerk, you speak to a helper who then passes your request to the clerk.

system-design
6 min read

Understanding Replication and Sharding in Databases

In today's world, where apps and websites need to handle millions of users, managing data efficiently is a huge challenge. Two main techniques that help databases scale are replication and sharding. In this blog, we'll explain both concepts in simple terms.

system-designdatabase
4 min read

Context Engineering: Building Stateful AI Agents with Sessions & Memory

How to make your LLM agents remember, learn, and personalize interactions

agent
4 min read

A2A (Agent-to-Agent) Protocol in Google ADK

A2A is an open protocol by Google that allows AI agents to communicate with each other across networks—even if they're built with different frameworks or run on different machines.

adkagent
4 min read

Understanding Multi-Factor Authentication(MFA)

Multi-Factor Authentication (MFA) adds an extra layer of security to your accounts by requiring multiple forms of verification. Instead of just a password, you need something else to prove you're really you.

Backend
5 min read

Agent Quality: A Comprehensive Guide

This addresses the fundamental challenge of evaluating AI agents in a non-deterministic world. Unlike traditional software that follows predictable code paths, AI agents make autonomous decisions, requiring entirely new approaches to quality assurance. The document presents a comprehensive framework for building trustworthy, production-ready AI agents.

adkagentgoogle-adk
9 min read

Algorithms Guide

DSA
47 min read

Everything a Backend Engineer Should Know

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." - Martin Fowle

Backendsystem-designoptimization
74 min read

Building AI Agents with Google ADK and MCP: A Complete Guide

The world of AI agents is rapidly evolving, and Google's Agent Development Kit (ADK) combined with the Model Context Protocol (MCP) provides a powerful framework for building intelligent, collaborative agents. This guide explores how these technologies work together to create sophisticated multi-agent systems.

agentmcpadkgoogle-adk
16 min read

Introduction to Model Context Protocol (MCP) in AWS

Model Context Protocol (MCP)** is an open standard created by Anthropic that solves a fundamental problem in AI development: **how do AI models access external data and tools in a standardized way?

agentmcpmcp-aws
10 min read

Stacks and Queues Explained

DSA
12 min read

Everything about Arrays.

An array is a linear data structure that stores elements of the same type in contiguous memory locations. Elements can be accessed directly using their index.

DSA
7 min read

Understanding Linked Lists.

A linked list is a linear data structure where elements are stored in nodes, and each node contains data and a reference (pointer) to the next node in the sequence. Unlike arrays, elements are not stored in contiguous memory locations.

DSA
10 min read

What is an API?

API (Application Programming Interface) is a contract between different software components that defines how they communicate with each other.

system-design
6 min read

HTTP Fundamentals: The Backbone of Web Communication

HTTP (HyperText Transfer Protocol) is the foundation of data communication on the web. It's a request-response protocol between clients and servers.

system-design
5 min read

Caching Essentials

Caching is storing frequently used data in a fast, temporary storage like memory, Redis, CDN, or browser cache. It reduces expensive operations like hitting the database or calling an external API.

system-designcache
3 min read

Understanding ACID in Databases: Ensuring Reliable Transactions

When working with databases, ACID properties ensure data stays safe and reliable. Let’s break it down in simple terms with examples.

databasesql
3 min read

What Is a Load Balancer?

A load balancer distributes incoming network or application traffic across multiple servers to ensure no single server gets overwhelmed. This improves performance, reliability, and availability

system-design
4 min read