<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Backend Engineering on Manvendra Rajpoot</title>
    <link>https://blog.rajpoot.dev/posts/backend/</link>
    <description>Recent content in Backend Engineering on Manvendra Rajpoot</description>
    <image>
      <title>Manvendra Rajpoot</title>
      <url>https://blog.rajpoot.dev/img/personal/cover.png</url>
      <link>https://blog.rajpoot.dev/img/personal/cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>Manvendra Rajpoot</copyright>
    <atom:link href="https://blog.rajpoot.dev/posts/backend/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>JWT vs Session Cookies in 2026 — The Authentication Choice That Matters</title>
      <link>https://blog.rajpoot.dev/posts/backend/auth-jwt-vs-session-2026/</link>
      <pubDate>Tue, 05 May 2026 09:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/auth-jwt-vs-session-2026/</guid>
      <description>JWT vs session cookies in 2026 — security tradeoffs, scaling, revocation, and the patterns from production auth.</description>
    </item>
    <item>
      <title>API Design in 2026 — Resource Naming, Errors, Pagination, and the Boring Discipline</title>
      <link>https://blog.rajpoot.dev/posts/backend/api-design-2026/</link>
      <pubDate>Tue, 05 May 2026 08:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/api-design-2026/</guid>
      <description>API design in 2026 — resource naming, error envelopes, pagination, idempotency, and the boring discipline that makes APIs pleasant to use.</description>
    </item>
    <item>
      <title>Streaming Patterns in 2026 — SSE, WebSocket, gRPC, and HTTP Streaming</title>
      <link>https://blog.rajpoot.dev/posts/backend/streaming-patterns-2026/</link>
      <pubDate>Tue, 05 May 2026 06:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/streaming-patterns-2026/</guid>
      <description>Streaming response patterns in 2026 — SSE, WebSocket, gRPC streaming, NDJSON, and choosing the right streaming protocol.</description>
    </item>
    <item>
      <title>Server Actions vs Traditional APIs in 2026 — When Each Wins</title>
      <link>https://blog.rajpoot.dev/posts/backend/server-actions-vs-api-2026/</link>
      <pubDate>Tue, 05 May 2026 06:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/server-actions-vs-api-2026/</guid>
      <description>Server Actions vs traditional APIs in 2026 — Next.js / Remix actions vs REST / GraphQL / tRPC, when each fits, and architectural implications.</description>
    </item>
    <item>
      <title>Multi-Tenancy Patterns in 2026 — Schema, Row, Database, and the Tradeoffs</title>
      <link>https://blog.rajpoot.dev/posts/backend/multitenancy-patterns-2026/</link>
      <pubDate>Mon, 04 May 2026 06:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/multitenancy-patterns-2026/</guid>
      <description>Multi-tenancy patterns in 2026 — shared DB, schema-per-tenant, DB-per-tenant, RLS, and the production tradeoffs.</description>
    </item>
    <item>
      <title>Postgres as Everything in 2026 — Queue, Cache, Search, Vector, Analytics</title>
      <link>https://blog.rajpoot.dev/posts/backend/postgres-as-everything-2026/</link>
      <pubDate>Mon, 04 May 2026 06:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/postgres-as-everything-2026/</guid>
      <description>Using Postgres as everything in 2026 — queue, cache, full-text search, vectors, analytics. When the boring choice wins.</description>
    </item>
    <item>
      <title>gRPC in 2026 — Protobuf, Streaming, and the Production Patterns</title>
      <link>https://blog.rajpoot.dev/posts/backend/grpc-basics-2026/</link>
      <pubDate>Mon, 04 May 2026 06:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/grpc-basics-2026/</guid>
      <description>Practical gRPC in 2026 — proto design, streaming, error handling, deadlines, and the patterns from real microservices.</description>
    </item>
    <item>
      <title>Database Migrations in 2026 — Zero-Downtime Patterns That Actually Work</title>
      <link>https://blog.rajpoot.dev/posts/backend/database-migrations-2026/</link>
      <pubDate>Sun, 03 May 2026 07:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/database-migrations-2026/</guid>
      <description>Database migration patterns in 2026 — expand-contract, online schema changes, pg_repack, and the discipline that prevents downtime.</description>
    </item>
    <item>
      <title>API Versioning in 2026 — Strategies That Don&#39;t Wreck Your Future</title>
      <link>https://blog.rajpoot.dev/posts/backend/api-versioning-2026/</link>
      <pubDate>Sun, 03 May 2026 07:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/api-versioning-2026/</guid>
      <description>API versioning in 2026 — URL, header, content negotiation, deprecation, and the strategies from real public APIs.</description>
    </item>
    <item>
      <title>Distributed Transactions in 2026 — Sagas, 2PC, and What Actually Works</title>
      <link>https://blog.rajpoot.dev/posts/backend/saga-vs-2pc-2026/</link>
      <pubDate>Sat, 02 May 2026 12:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/saga-vs-2pc-2026/</guid>
      <description>Distributed transactions in 2026 — saga patterns, two-phase commit reality, outbox, and the discipline of cross-service consistency.</description>
    </item>
    <item>
      <title>Distributed Tracing in 2026 — OpenTelemetry, Trace Context, and What Actually Helps Debugging</title>
      <link>https://blog.rajpoot.dev/posts/backend/distributed-tracing-2026/</link>
      <pubDate>Sat, 02 May 2026 11:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/distributed-tracing-2026/</guid>
      <description>Distributed tracing in 2026 — OpenTelemetry, trace context propagation, sampling, useful spans, and the patterns that make tracing worth the effort.</description>
    </item>
    <item>
      <title>Circuit Breakers in 2026 — Patterns, Pitfalls, and When They Save You</title>
      <link>https://blog.rajpoot.dev/posts/backend/circuit-breaker-2026/</link>
      <pubDate>Sat, 02 May 2026 09:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/circuit-breaker-2026/</guid>
      <description>Circuit breakers in 2026 — the pattern, threshold tuning, half-open recovery, libraries, and the failure modes from production.</description>
    </item>
    <item>
      <title>Event Sourcing in 2026 — When It&#39;s Worth the Complexity</title>
      <link>https://blog.rajpoot.dev/posts/backend/event-sourcing-2026/</link>
      <pubDate>Sat, 02 May 2026 09:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/event-sourcing-2026/</guid>
      <description>Event sourcing in 2026 — patterns, projections, snapshots, when it pays off, and the operational realities of running event-sourced systems.</description>
    </item>
    <item>
      <title>gRPC vs REST vs GraphQL in 2026 — Pick the Right Tool, Not the Loudest One</title>
      <link>https://blog.rajpoot.dev/posts/backend/grpc-vs-rest-2026/</link>
      <pubDate>Sat, 02 May 2026 08:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/grpc-vs-rest-2026/</guid>
      <description>gRPC vs REST vs GraphQL in 2026 — when each wins, perf reality, schema evolution, and the patterns from real backend teams.</description>
    </item>
    <item>
      <title>API Gateway Patterns in 2026 — Kong, Envoy, Cloudflare, and the Hybrids</title>
      <link>https://blog.rajpoot.dev/posts/backend/api-gateway-patterns-2026/</link>
      <pubDate>Fri, 01 May 2026 05:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/api-gateway-patterns-2026/</guid>
      <description>API gateway patterns in 2026 — Kong vs Envoy vs Cloudflare vs Tyk. Where each fits, plus app-level vs platform-level gateway tradeoffs.</description>
    </item>
    <item>
      <title>API Rate Limit Design — Quotas, Headers, and 429 Patterns in 2026</title>
      <link>https://blog.rajpoot.dev/posts/backend/api-rate-limit-design-2026/</link>
      <pubDate>Fri, 01 May 2026 03:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/api-rate-limit-design-2026/</guid>
      <description>How to design API rate limits that customers can use — tiers, quota types, response headers, 429 patterns, and the patterns from popular APIs.</description>
    </item>
    <item>
      <title>Serialization Formats in 2026 — Protobuf, MessagePack, CBOR, FlatBuffers</title>
      <link>https://blog.rajpoot.dev/posts/backend/serialization-protobuf-msgpack-cbor-2026/</link>
      <pubDate>Fri, 01 May 2026 02:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/serialization-protobuf-msgpack-cbor-2026/</guid>
      <description>Picking a serialization format in 2026 — Protobuf, MessagePack, CBOR, FlatBuffers, JSON. Performance, ergonomics, and which fits where.</description>
    </item>
    <item>
      <title>Zero-Downtime Database Migrations in 2026 — The Expand-and-Contract Playbook</title>
      <link>https://blog.rajpoot.dev/posts/backend/database-migrations-zero-downtime-2026/</link>
      <pubDate>Fri, 01 May 2026 00:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/database-migrations-zero-downtime-2026/</guid>
      <description>How to do zero-downtime database migrations in 2026 — expand-and-contract pattern, examples for adding columns, renaming, dropping, with concrete steps.</description>
    </item>
    <item>
      <title>Connection Pooling for Postgres in 2026 — PgBouncer, Hyperdrive, Supavisor</title>
      <link>https://blog.rajpoot.dev/posts/backend/connection-pooling-pgbouncer-2026/</link>
      <pubDate>Fri, 01 May 2026 00:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/connection-pooling-pgbouncer-2026/</guid>
      <description>Postgres connection pooling in 2026 — PgBouncer modes, Hyperdrive, Supavisor, pgcat, and the pattern that scales serverless and stateful apps.</description>
    </item>
    <item>
      <title>gRPC Load Balancing in 2026 — What You Probably Got Wrong</title>
      <link>https://blog.rajpoot.dev/posts/backend/grpc-load-balancing-2026/</link>
      <pubDate>Thu, 30 Apr 2026 22:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/grpc-load-balancing-2026/</guid>
      <description>gRPC load balancing in 2026 — why standard L4 LBs fail with gRPC, client-side LB, headless services, and the patterns that work in Kubernetes.</description>
    </item>
    <item>
      <title>gRPC vs REST for Internal Services in 2026 — The Honest Comparison</title>
      <link>https://blog.rajpoot.dev/posts/backend/grpc-vs-rest-internal-services-2026/</link>
      <pubDate>Thu, 30 Apr 2026 21:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/grpc-vs-rest-internal-services-2026/</guid>
      <description>gRPC vs REST for internal service-to-service communication in 2026 — performance, ergonomics, debugging, and how to pick.</description>
    </item>
    <item>
      <title>Health Checks That Don&#39;t Lie — Liveness, Readiness, and Startup Probes in 2026</title>
      <link>https://blog.rajpoot.dev/posts/backend/healthchecks-readiness-liveness-2026/</link>
      <pubDate>Thu, 30 Apr 2026 20:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/healthchecks-readiness-liveness-2026/</guid>
      <description>How to design health checks that actually reflect service health — liveness vs readiness, dependency checks, startup probes, and the patterns that prevent silent outages.</description>
    </item>
    <item>
      <title>Microservices vs Monolith in 2026 — The Pragmatic Take</title>
      <link>https://blog.rajpoot.dev/posts/backend/microservices-vs-monolith-2026/</link>
      <pubDate>Thu, 30 Apr 2026 19:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/microservices-vs-monolith-2026/</guid>
      <description>Microservices vs monolith in 2026 — when to start with a modular monolith, when to split, and the architecture decisions that age well.</description>
    </item>
    <item>
      <title>gRPC Streaming Patterns in 2026 — Server-Streaming, Client-Streaming, and Bidi</title>
      <link>https://blog.rajpoot.dev/posts/backend/grpc-streaming-server-sent-events-bidi-2026/</link>
      <pubDate>Thu, 30 Apr 2026 15:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/grpc-streaming-server-sent-events-bidi-2026/</guid>
      <description>gRPC streaming patterns in 2026 — server-streaming, client-streaming, bidi, error handling, deadlines, and the production patterns that scale.</description>
    </item>
    <item>
      <title>API Versioning and Deprecation in 2026 — Patterns That Don&#39;t Burn Customers</title>
      <link>https://blog.rajpoot.dev/posts/backend/api-versioning-deprecation-2026/</link>
      <pubDate>Thu, 30 Apr 2026 14:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/api-versioning-deprecation-2026/</guid>
      <description>API versioning and deprecation in 2026 — URL versioning, header versioning, sunset headers, deprecation timelines, and the patterns that keep customers shipping.</description>
    </item>
    <item>
      <title>Designing Webhooks That Don&#39;t Ruin Anyone&#39;s Day in 2026</title>
      <link>https://blog.rajpoot.dev/posts/backend/webhooks-design-2026/</link>
      <pubDate>Thu, 30 Apr 2026 14:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/webhooks-design-2026/</guid>
      <description>How to design and consume webhooks in 2026 — signed events, retries with backoff, idempotency, ordering, observability, and the API ergonomics that matter.</description>
    </item>
    <item>
      <title>Multi-Tenancy Patterns for SaaS in 2026 — Shared, Pooled, or Per-Tenant</title>
      <link>https://blog.rajpoot.dev/posts/backend/multi-tenancy-saas-2026/</link>
      <pubDate>Thu, 30 Apr 2026 14:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/multi-tenancy-saas-2026/</guid>
      <description>Multi-tenancy patterns for SaaS in 2026 — shared schema, pooled tenants, per-tenant database, and how to pick by scale, isolation, and compliance needs.</description>
    </item>
    <item>
      <title>Feature Flags and Progressive Delivery in 2026 — LaunchDarkly, Flagsmith, and OpenFeature</title>
      <link>https://blog.rajpoot.dev/posts/backend/feature-flags-progressive-delivery-2026/</link>
      <pubDate>Thu, 30 Apr 2026 14:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/feature-flags-progressive-delivery-2026/</guid>
      <description>Feature flags and progressive delivery in 2026 — LaunchDarkly, Flagsmith, OpenFeature, the patterns for safe rollouts and the operational realities.</description>
    </item>
    <item>
      <title>Circuit Breakers, Bulkheads, and Backpressure — Resilience Patterns for 2026</title>
      <link>https://blog.rajpoot.dev/posts/backend/circuit-breakers-bulkheads-2026/</link>
      <pubDate>Thu, 30 Apr 2026 14:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/circuit-breakers-bulkheads-2026/</guid>
      <description>Production resilience patterns in 2026 — circuit breakers, bulkheads, backpressure, retries with jitter, and timeouts. The patterns that keep services up under stress.</description>
    </item>
    <item>
      <title>Event Sourcing and CQRS in 2026 — When the Pattern Pays Off</title>
      <link>https://blog.rajpoot.dev/posts/backend/event-sourcing-cqrs-2026/</link>
      <pubDate>Thu, 30 Apr 2026 14:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/event-sourcing-cqrs-2026/</guid>
      <description>Event sourcing and CQRS in 2026 — what each is, when to use them, when not to, and the pragmatic patterns from production.</description>
    </item>
    <item>
      <title>API Design Patterns 2026 — Resource-Oriented vs Action-Oriented vs RPC</title>
      <link>https://blog.rajpoot.dev/posts/backend/api-design-rest-vs-rpc-vs-graphql-2026/</link>
      <pubDate>Thu, 30 Apr 2026 13:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/api-design-rest-vs-rpc-vs-graphql-2026/</guid>
      <description>API design patterns in 2026 — resource-oriented (REST), action-oriented, RPC-style. When each shape works, hybrids, and the readability tradeoffs.</description>
    </item>
    <item>
      <title>GraphQL vs tRPC vs gRPC vs REST in 2026 — How to Pick an API Layer</title>
      <link>https://blog.rajpoot.dev/posts/backend/graphql-vs-trpc-vs-grpc-2026/</link>
      <pubDate>Thu, 30 Apr 2026 09:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/graphql-vs-trpc-vs-grpc-2026/</guid>
      <description>How to pick an API layer in 2026 — REST, GraphQL, tRPC, gRPC, Connect — with the tradeoffs that decide each call.</description>
    </item>
    <item>
      <title>Zig in 2026 — A Backend Developer&#39;s Look at the Language Bun Was Built In</title>
      <link>https://blog.rajpoot.dev/posts/backend/zig-language-backend-developers-2026/</link>
      <pubDate>Thu, 30 Apr 2026 08:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/zig-language-backend-developers-2026/</guid>
      <description>Zig in 2026 — what backend developers should know about the language behind Bun, when to reach for it over Rust or Go, and what production looks like.</description>
    </item>
    <item>
      <title>Temporal and Durable Execution in 2026 — The Reliability Layer</title>
      <link>https://blog.rajpoot.dev/posts/backend/temporal-durable-execution-2026/</link>
      <pubDate>Thu, 30 Apr 2026 08:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/temporal-durable-execution-2026/</guid>
      <description>What durable execution is, why Temporal won the workflow engine market in 2026, and how to use it for reliable agents, payments, and long-running processes.</description>
    </item>
    <item>
      <title>DuckDB in Production — Embedded Analytics Eating the Data World</title>
      <link>https://blog.rajpoot.dev/posts/backend/duckdb-analytics-data-engineering-2026/</link>
      <pubDate>Thu, 30 Apr 2026 08:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/duckdb-analytics-data-engineering-2026/</guid>
      <description>Why DuckDB became the analytics database of 2026 — embedded OLAP, Parquet/Arrow, replacing Pandas at scale, the DuckLake extension, and where it fits next to Postgres.</description>
    </item>
    <item>
      <title>Authentication in 2026 — Passkeys, OAuth 2.1, OIDC, and What to Actually Ship</title>
      <link>https://blog.rajpoot.dev/posts/backend/authentication-2026-passkeys-oauth-oidc/</link>
      <pubDate>Wed, 29 Apr 2026 09:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/authentication-2026-passkeys-oauth-oidc/</guid>
      <description>Modern authentication for backend developers in 2026 — passkeys (WebAuthn), OAuth 2.1, OIDC, sessions vs JWTs, and how to pick a stack for FastAPI, Django, Hono, and Next.js.</description>
    </item>
    <item>
      <title>SQLite at the Edge in 2026 — Turso, Litestream, Cloudflare D1, and When It Beats Postgres</title>
      <link>https://blog.rajpoot.dev/posts/backend/sqlite-edge-turso-litestream-d1-2026/</link>
      <pubDate>Wed, 29 Apr 2026 09:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/sqlite-edge-turso-litestream-d1-2026/</guid>
      <description>When SQLite at the edge beats Postgres in 2026 — Turso, libSQL, Litestream, Cloudflare D1, embedded replicas, microsecond latency, and the workloads where it actually wins.</description>
    </item>
    <item>
      <title>SSE vs WebSockets in 2026 — Streaming AI Apps, Chat, and Real-Time UIs</title>
      <link>https://blog.rajpoot.dev/posts/backend/sse-vs-websockets-streaming-ai-2026/</link>
      <pubDate>Wed, 29 Apr 2026 09:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/sse-vs-websockets-streaming-ai-2026/</guid>
      <description>When to use Server-Sent Events vs WebSockets in 2026 — the protocol differences, AI streaming patterns, code examples, scaling, proxy/CDN behavior, and a clear decision rule.</description>
    </item>
    <item>
      <title>Caching Strategies in 2026 — Redis, Valkey, and the Patterns That Actually Work</title>
      <link>https://blog.rajpoot.dev/posts/backend/caching-strategies-redis-valkey-2026/</link>
      <pubDate>Tue, 28 Apr 2026 20:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/caching-strategies-redis-valkey-2026/</guid>
      <description>Modern caching strategies for backend systems — cache-aside, write-through, write-behind, stampedes, hot keys, and how Redis 8 and Valkey diverged in 2026.</description>
    </item>
    <item>
      <title>Idempotency, Retries, and the Exactly-Once Illusion</title>
      <link>https://blog.rajpoot.dev/posts/backend/idempotency-retries-exactly-once/</link>
      <pubDate>Tue, 28 Apr 2026 20:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/idempotency-retries-exactly-once/</guid>
      <description>How idempotency, retries, and the outbox pattern actually work in production — designing idempotency keys, retry budgets, and why exactly-once delivery doesn&amp;#39;t exist (and what to build instead).</description>
    </item>
    <item>
      <title>Kafka vs NATS vs RabbitMQ in 2026 — How to Pick a Message Broker</title>
      <link>https://blog.rajpoot.dev/posts/backend/kafka-vs-nats-vs-rabbitmq/</link>
      <pubDate>Tue, 28 Apr 2026 20:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/kafka-vs-nats-vs-rabbitmq/</guid>
      <description>A practical comparison of Kafka, NATS, and RabbitMQ in 2026 — semantics, throughput, persistence, ordering, ops cost, and a clear decision guide for backend systems.</description>
    </item>
    <item>
      <title>Designing REST APIs That Don&#39;t Suck</title>
      <link>https://blog.rajpoot.dev/posts/backend/designing-rest-apis-that-dont-suck/</link>
      <pubDate>Tue, 28 Apr 2026 15:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/designing-rest-apis-that-dont-suck/</guid>
      <description>An opinionated guide to designing REST APIs — resource modeling, HTTP semantics, status codes, errors, pagination, versioning, and what good looks like.</description>
    </item>
    <item>
      <title>Rate Limiting Strategies for APIs</title>
      <link>https://blog.rajpoot.dev/posts/backend/rate-limiting-strategies-for-apis/</link>
      <pubDate>Tue, 28 Apr 2026 15:05:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/rate-limiting-strategies-for-apis/</guid>
      <description>How to rate limit your API properly — fixed window, sliding window, leaky bucket, token bucket, Redis implementations, and what to put in your headers.</description>
    </item>
    <item>
      <title>Redis Caching Strategies for Backend Developers</title>
      <link>https://blog.rajpoot.dev/posts/backend/redis-caching-strategies/</link>
      <pubDate>Tue, 28 Apr 2026 15:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/backend/redis-caching-strategies/</guid>
      <description>A practical guide to caching with Redis — cache-aside, read-through, write-through, write-behind, TTLs, invalidation, and the patterns that scale.</description>
    </item>
  </channel>
</rss>
