<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Kunal Sinha — Blog</title>
    <link>https://kunalsinha.dev/blog</link>
    <description>Articles on cloud architecture, event-driven systems, microservices and engineering leadership.</description>
    
    <item>
      <title><![CDATA[AWS Transform Custom: I Modernized a Java 8 Spring Boot App to Java 21 — Here's What Actually Happened]]></title>
      <link>https://kunalsinha.dev/blog/aws-transform-java-modernization</link>
      <guid>https://kunalsinha.dev/blog/aws-transform-java-modernization</guid>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[I ran AWS Transform custom against a real Java 8 Spring Boot application to see if agentic code modernization holds up — here's what actually happened.]]></description>
    </item>
    <item>
      <title><![CDATA[AI Security Risks Every Engineering Leader Should Understand]]></title>
      <link>https://kunalsinha.dev/blog/ai-security-risks-engineering-leaders</link>
      <guid>https://kunalsinha.dev/blog/ai-security-risks-engineering-leaders</guid>
      <pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Prompt injection, data leakage through retrieval, and supply chain risk in third-party models aren't hypothetical for a security team to worry about someday — they're active risk categories in any LLM feature already in production.]]></description>
    </item>
    <item>
      <title><![CDATA[AWS EventBridge Advanced Patterns: Building Enterprise Event-Driven Architectures]]></title>
      <link>https://kunalsinha.dev/blog/aws-eventbridge-advanced-patterns</link>
      <guid>https://kunalsinha.dev/blog/aws-eventbridge-advanced-patterns</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Advanced EventBridge patterns for enterprise event-driven architecture: multi-bus domain separation, schema governance, and archive/replay for compliance.]]></description>
    </item>
    <item>
      <title><![CDATA[Distributed SQL and Microservices: An Alternative to Always Reaching for a Saga]]></title>
      <link>https://kunalsinha.dev/blog/microservices-distributed-sql-transactions</link>
      <guid>https://kunalsinha.dev/blog/microservices-distributed-sql-transactions</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Not every cross-service consistency problem needs a saga. Distributed SQL databases give you real ACID transactions across a horizontally scaled, multi-region data layer — here's where that changes the calculus.]]></description>
    </item>
    <item>
      <title><![CDATA[Amazon Bedrock Guardrails: Enterprise AI Governance for Regulated Industries]]></title>
      <link>https://kunalsinha.dev/blog/amazon-bedrock-guardrails</link>
      <guid>https://kunalsinha.dev/blog/amazon-bedrock-guardrails</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Amazon Bedrock Guardrails is the governance layer enterprise GenAI in regulated industries can't ship without — content filters, denied topics, and PII handling.]]></description>
    </item>
    <item>
      <title><![CDATA[Flatter Engineering Orgs and the IC Renaissance: What the Shift Away from Middle Management Actually Means]]></title>
      <link>https://kunalsinha.dev/blog/leadership-flatter-orgs-ic-renaissance</link>
      <guid>https://kunalsinha.dev/blog/leadership-flatter-orgs-ic-renaissance</guid>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A real, industry-wide trend since 2023: engineering orgs removing management layers, senior ICs taking on scope that used to require a manager title, and 'flat' becoming a deliberate design choice, not just a cost-cutting euphemism. Here's what actually determines whether it works.]]></description>
    </item>
    <item>
      <title><![CDATA[Amazon Q Developer Beyond Basics: Advanced Patterns for Enterprise Engineering Teams]]></title>
      <link>https://kunalsinha.dev/blog/amazon-q-developer-advanced-patterns</link>
      <guid>https://kunalsinha.dev/blog/amazon-q-developer-advanced-patterns</guid>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Beyond inline code suggestions: Q Developer's /transform and /review capabilities are where the real enterprise engineering value lives.]]></description>
    </item>
    <item>
      <title><![CDATA[AWS DevOps Agent: Your Always-On Autonomous On-Call Engineer]]></title>
      <link>https://kunalsinha.dev/blog/aws-devops-agent</link>
      <guid>https://kunalsinha.dev/blog/aws-devops-agent</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[AWS DevOps Agent is an always-on autonomous on-call engineer that starts investigating the moment an alert fires.]]></description>
    </item>
    <item>
      <title><![CDATA[The Modular Monolith Comeback: Why Some Teams Are Walking Back Microservices in 2026]]></title>
      <link>https://kunalsinha.dev/blog/microservices-modular-monolith-comeback</link>
      <guid>https://kunalsinha.dev/blog/microservices-modular-monolith-comeback</guid>
      <pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[A growing number of teams that adopted microservices by default are consolidating back toward modular monoliths. That's not an admission of failure — it's the industry correcting for over-application of a pattern that was never meant to be a default.]]></description>
    </item>
    <item>
      <title><![CDATA[AWS MCP Server: Connecting AI Agents to Your AWS Environment]]></title>
      <link>https://kunalsinha.dev/blog/aws-mcp-server</link>
      <guid>https://kunalsinha.dev/blog/aws-mcp-server</guid>
      <pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[AWS's official MCP Server exposes AWS APIs as tools AI agents can call — the integration layer behind Bedrock AgentCore, Q Developer, and Kiro.]]></description>
    </item>
    <item>
      <title><![CDATA[The Hidden Total Cost of AI Features (Beyond the Inference Bill)]]></title>
      <link>https://kunalsinha.dev/blog/ai-hidden-total-cost-of-ai-features</link>
      <guid>https://kunalsinha.dev/blog/ai-hidden-total-cost-of-ai-features</guid>
      <pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[The per-token inference cost is the number everyone models before launch. It's rarely the largest cost over an AI feature's actual lifetime — evaluation infrastructure, prompt maintenance, and incident response usually are.]]></description>
    </item>
    <item>
      <title><![CDATA[Amazon Bedrock Knowledge Bases: Smart Parsing, Agentic Retrieval, and Why Enterprise RAG Is Finally Production-Ready]]></title>
      <link>https://kunalsinha.dev/blog/bedrock-knowledge-bases-agentic-retrieval</link>
      <guid>https://kunalsinha.dev/blog/bedrock-knowledge-bases-agentic-retrieval</guid>
      <pubDate>Tue, 10 Feb 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Fully Managed Knowledge Bases bring Smart Parsing and an Agentic Retriever to Amazon Bedrock, closing the gap between demo RAG and production RAG.]]></description>
    </item>
    <item>
      <title><![CDATA[Reinforcement Fine-Tuning on Amazon Bedrock: 66% Accuracy Gains Without an ML Team]]></title>
      <link>https://kunalsinha.dev/blog/bedrock-reinforcement-fine-tuning</link>
      <guid>https://kunalsinha.dev/blog/bedrock-reinforcement-fine-tuning</guid>
      <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[Reinforcement Fine-Tuning on Amazon Bedrock delivers an average 66% accuracy gain over base models using a handful of prompts, not thousands of labels.]]></description>
    </item>
    <item>
      <title><![CDATA[AWS Lambda Managed Instances: When Serverless Meets EC2 Economics]]></title>
      <link>https://kunalsinha.dev/blog/aws-lambda-managed-instances</link>
      <guid>https://kunalsinha.dev/blog/aws-lambda-managed-instances</guid>
      <pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate>
      <description><![CDATA[AWS Lambda Managed Instances lets you run Lambda functions on EC2 capacity you control, combining serverless simplicity with EC2 economics.]]></description>
    </item>
    <item>
      <title><![CDATA[Amazon Nova Act: How AWS Is Making Browser Automation with AI Agents Actually Reliable]]></title>
      <link>https://kunalsinha.dev/blog/amazon-nova-act</link>
      <guid>https://kunalsinha.dev/blog/amazon-nova-act</guid>
      <pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Amazon Nova Act brings reliable, adaptive browser automation to AI agents — built to survive UI changes that break Selenium and Playwright scripts.]]></description>
    </item>
    <item>
      <title><![CDATA[Managing Autonomous AI Agents as Part of Your Engineering Team]]></title>
      <link>https://kunalsinha.dev/blog/leadership-managing-autonomous-ai-agents</link>
      <guid>https://kunalsinha.dev/blog/leadership-managing-autonomous-ai-agents</guid>
      <pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[AWS DevOps Agent investigates incidents before a human is paged. Amazon Q Developer transforms your codebase autonomously. At some point 'who's responsible for this system' stopped having a purely human answer — and most engineering leaders haven't updated their accountability model to match.]]></description>
    </item>
    <item>
      <title><![CDATA[Amazon Bedrock AgentCore: How to Deploy Trusted AI Agents in Production on AWS]]></title>
      <link>https://kunalsinha.dev/blog/amazon-bedrock-agentcore</link>
      <guid>https://kunalsinha.dev/blog/amazon-bedrock-agentcore</guid>
      <pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Amazon Bedrock AgentCore is AWS's managed runtime for deploying trusted, production-grade AI agents with policy controls and observability.]]></description>
    </item>
    <item>
      <title><![CDATA[AI Agents as Microservices Consumers: Rethinking API Design When Your Caller Is an LLM]]></title>
      <link>https://kunalsinha.dev/blog/microservices-ai-agents-as-consumers</link>
      <guid>https://kunalsinha.dev/blog/microservices-ai-agents-as-consumers</guid>
      <pubDate>Mon, 24 Nov 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Your microservice APIs were designed for human developers reading documentation and writing client code. An AI agent calling the same API at runtime needs something different — here's what changes.]]></description>
    </item>
    <item>
      <title><![CDATA[Cost Optimization Patterns for LLM Applications: Caching, Routing, and Cascades]]></title>
      <link>https://kunalsinha.dev/blog/ai-cost-optimization-patterns-llm-applications</link>
      <guid>https://kunalsinha.dev/blog/ai-cost-optimization-patterns-llm-applications</guid>
      <pubDate>Mon, 17 Nov 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A feature that costs a reasonable amount per request in a demo can become a real budget line item at production scale. These are the patterns that actually bring that cost down without degrading quality.]]></description>
    </item>
    <item>
      <title><![CDATA[Amazon S3 Vectors GA: Native Vector Storage in S3 and What It Means for Your RAG Architecture]]></title>
      <link>https://kunalsinha.dev/blog/amazon-s3-vectors-ga</link>
      <guid>https://kunalsinha.dev/blog/amazon-s3-vectors-ga</guid>
      <pubDate>Mon, 10 Nov 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Amazon S3 Vectors reaches general availability with 40x the scale of preview — what changed and when it makes sense for your RAG architecture.]]></description>
    </item>
    <item>
      <title><![CDATA[Kubernetes Gateway API: Why It's Replacing Ingress for Microservices Routing]]></title>
      <link>https://kunalsinha.dev/blog/microservices-kubernetes-gateway-api</link>
      <guid>https://kunalsinha.dev/blog/microservices-kubernetes-gateway-api</guid>
      <pubDate>Tue, 28 Oct 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Ingress was never expressive enough for real microservices routing needs, and every vendor filled the gap with incompatible annotations. The Gateway API is the standard that finally fixes this.]]></description>
    </item>
    <item>
      <title><![CDATA[AsyncAPI and Schema Registries: Contract Testing for Event-Driven Microservices]]></title>
      <link>https://kunalsinha.dev/blog/microservices-asyncapi-schema-registries</link>
      <guid>https://kunalsinha.dev/blog/microservices-asyncapi-schema-registries</guid>
      <pubDate>Tue, 21 Oct 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[REST APIs have OpenAPI and consumer-driven contract testing. Event-driven microservices need the same discipline for what gets published to a topic — AsyncAPI and schema registries are how that actually gets enforced.]]></description>
    </item>
    <item>
      <title><![CDATA[The Saga Pattern in Practice: Distributed Transactions Without Distributed Locks]]></title>
      <link>https://kunalsinha.dev/blog/microservices-saga-pattern-distributed-transactions</link>
      <guid>https://kunalsinha.dev/blog/microservices-saga-pattern-distributed-transactions</guid>
      <pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Once a business transaction spans more than one service's data, you've lost ACID guarantees for good. The saga pattern is how you get a correct, auditable outcome anyway — without a distributed lock in sight.]]></description>
    </item>
    <item>
      <title><![CDATA[Multi-Runtime Microservices: What Dapr Actually Solves (and What It Doesn't)]]></title>
      <link>https://kunalsinha.dev/blog/microservices-multi-runtime-dapr</link>
      <guid>https://kunalsinha.dev/blog/microservices-multi-runtime-dapr</guid>
      <pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Dapr's sidecar gives every microservice a consistent API for state, pub/sub, and service invocation regardless of the backing infrastructure. Here's when that portability is worth the abstraction, and when it isn't.]]></description>
    </item>
    <item>
      <title><![CDATA[AWS IAM Design Patterns for Enterprise: SCPs, Permission Boundaries, and Multi-Account Governance]]></title>
      <link>https://kunalsinha.dev/blog/aws-iam-design-patterns-enterprise</link>
      <guid>https://kunalsinha.dev/blog/aws-iam-design-patterns-enterprise</guid>
      <pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A three-layer IAM governance model — SCPs, permission boundaries, and role design — for multi-account enterprise AWS environments.]]></description>
    </item>
    <item>
      <title><![CDATA[Evaluating LLM-Powered Features: The Testing Problem Most Teams Haven't Solved]]></title>
      <link>https://kunalsinha.dev/blog/ai-evaluating-llm-powered-features</link>
      <guid>https://kunalsinha.dev/blog/ai-evaluating-llm-powered-features</guid>
      <pubDate>Tue, 09 Sep 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[You can't write a deterministic assertion against a non-deterministic output. Most teams either skip evaluation entirely or eyeball a handful of outputs and call it good — neither is a real testing strategy.]]></description>
    </item>
    <item>
      <title><![CDATA[WebAssembly in Microservices Infrastructure: How Proxy-Wasm Is Replacing Native Sidecar Plugins]]></title>
      <link>https://kunalsinha.dev/blog/microservices-webassembly-proxy-infrastructure</link>
      <guid>https://kunalsinha.dev/blog/microservices-webassembly-proxy-infrastructure</guid>
      <pubDate>Wed, 27 Aug 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Custom auth, rate limiting, and request transformation used to mean compiling a native filter into your proxy. WebAssembly plugins are quietly replacing that model — portable across proxies, safer to deploy.]]></description>
    </item>
    <item>
      <title><![CDATA[Building a Serverless Rules-Based Workflow on AWS: Step Functions, Lambda, DynamoDB, and SQS]]></title>
      <link>https://kunalsinha.dev/blog/aws-serverless-rules-based-workflow</link>
      <guid>https://kunalsinha.dev/blog/aws-serverless-rules-based-workflow</guid>
      <pubDate>Wed, 13 Aug 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A reference architecture for externalizing business rules from Step Functions and Lambda — versioned rule releases, distributed locking, and full audit history for high-volume transaction processing.]]></description>
    </item>
    <item>
      <title><![CDATA[The Junior Engineer Development Crisis: What Happens When AI Does the Easy Work First]]></title>
      <link>https://kunalsinha.dev/blog/leadership-junior-engineer-development-crisis</link>
      <guid>https://kunalsinha.dev/blog/leadership-junior-engineer-development-crisis</guid>
      <pubDate>Wed, 06 Aug 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[The tasks AI coding assistants are best at — boilerplate CRUD endpoints, straightforward bug fixes, routine test-writing — used to be exactly how junior engineers built the fundamentals they'd need later. Removing that on-ramp has a cost, and most engineering leaders haven't reckoned with it yet.]]></description>
    </item>
    <item>
      <title><![CDATA[Ambient Mesh: Why Sidecar-less Service Mesh Is Replacing the Sidecar Model]]></title>
      <link>https://kunalsinha.dev/blog/microservices-ambient-mesh-sidecar-less</link>
      <guid>https://kunalsinha.dev/blog/microservices-ambient-mesh-sidecar-less</guid>
      <pubDate>Wed, 30 Jul 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[The sidecar proxy pattern solved service mesh's adoption problem and created a new one: a proxy container per pod. Ambient mesh removes it — here's the architecture and the trade-offs.]]></description>
    </item>
    <item>
      <title><![CDATA[Chaos Engineering: Actually Proving Your Circuit Breakers Work]]></title>
      <link>https://kunalsinha.dev/blog/microservices-chaos-engineering-maturity</link>
      <guid>https://kunalsinha.dev/blog/microservices-chaos-engineering-maturity</guid>
      <pubDate>Wed, 23 Jul 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Every microservices team says they have circuit breakers, retries, and graceful degradation. Chaos engineering is the discipline of finding out whether that's actually true before an incident does.]]></description>
    </item>
    <item>
      <title><![CDATA[AWS CDK in Enterprise Delivery: Beyond the Basics]]></title>
      <link>https://kunalsinha.dev/blog/aws-cdk-enterprise-patterns</link>
      <guid>https://kunalsinha.dev/blog/aws-cdk-enterprise-patterns</guid>
      <pubDate>Wed, 16 Jul 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Enterprise CDK patterns beyond the basics: custom L3 constructs, multi-account CDK Pipelines, Aspects for policy enforcement, and testing infrastructure code.]]></description>
    </item>
    <item>
      <title><![CDATA[OpenTelemetry as the Unified Observability Standard for Microservices]]></title>
      <link>https://kunalsinha.dev/blog/microservices-opentelemetry-unified-observability</link>
      <guid>https://kunalsinha.dev/blog/microservices-opentelemetry-unified-observability</guid>
      <pubDate>Tue, 24 Jun 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Traces from one vendor's SDK, metrics from another's client library, logs in a third format — OpenTelemetry is the standard that finally lets a polyglot microservices fleet speak one observability language.]]></description>
    </item>
    <item>
      <title><![CDATA[API Gateway Patterns for Microservices: BFF, Aggregation, and When You Don't Need One]]></title>
      <link>https://kunalsinha.dev/blog/microservices-api-gateway-patterns</link>
      <guid>https://kunalsinha.dev/blog/microservices-api-gateway-patterns</guid>
      <pubDate>Wed, 11 Jun 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[A single shared API gateway in front of dozens of microservices is a common default — and a common bottleneck. Here's how to decide between a single gateway, BFFs, and client-side composition.]]></description>
    </item>
    <item>
      <title><![CDATA[Platform Engineering and Internal Developer Platforms: The Real Answer to Microservices Sprawl]]></title>
      <link>https://kunalsinha.dev/blog/microservices-platform-engineering-idp</link>
      <guid>https://kunalsinha.dev/blog/microservices-platform-engineering-idp</guid>
      <pubDate>Wed, 28 May 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Microservices without platform investment doesn't produce autonomous teams — it produces sprawl. Platform engineering and internal developer platforms are how mature organizations closed that gap.]]></description>
    </item>
    <item>
      <title><![CDATA[OpenFeature: Feature Flags as Standardized Infrastructure, Not a Vendor SDK]]></title>
      <link>https://kunalsinha.dev/blog/microservices-openfeature-feature-flags</link>
      <guid>https://kunalsinha.dev/blog/microservices-openfeature-feature-flags</guid>
      <pubDate>Wed, 21 May 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Feature flags decouple deploy from release — genuinely valuable for microservices. OpenFeature standardizes the API for using them, so switching providers stops meaning a rewrite across every service.]]></description>
    </item>
    <item>
      <title><![CDATA[eBPF and the Future of Service Mesh Data Planes]]></title>
      <link>https://kunalsinha.dev/blog/microservices-ebpf-service-mesh-future</link>
      <guid>https://kunalsinha.dev/blog/microservices-ebpf-service-mesh-future</guid>
      <pubDate>Tue, 22 Apr 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Ambient mesh removed the per-pod sidecar. eBPF goes a layer deeper — enforcing identity, policy, and observability inside the kernel itself, with no user-space proxy in the request path at all.]]></description>
    </item>
    <item>
      <title><![CDATA[Leading Engineering Teams Through AI-Assisted Development: What Actually Changes]]></title>
      <link>https://kunalsinha.dev/blog/leadership-ai-assisted-development-teams</link>
      <guid>https://kunalsinha.dev/blog/leadership-ai-assisted-development-teams</guid>
      <pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Copilot and Amazon Q Developer didn't just change how engineers write code — they changed what code review, what 'senior,' and what a healthy PR velocity actually mean. Most engineering leaders are still managing against the old definitions.]]></description>
    </item>
    <item>
      <title><![CDATA[Where Does One Microservice End and Another Begin? A Practical Guide to Service Boundaries]]></title>
      <link>https://kunalsinha.dev/blog/microservices-service-boundaries-ddd</link>
      <guid>https://kunalsinha.dev/blog/microservices-service-boundaries-ddd</guid>
      <pubDate>Wed, 09 Apr 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Most microservices problems trace back to one decision made too early: where the boundaries were drawn. A practical framework for getting it right.]]></description>
    </item>
    <item>
      <title><![CDATA[Zero Trust for Microservices: SPIFFE, SPIRE, and mTLS Everywhere]]></title>
      <link>https://kunalsinha.dev/blog/microservices-zero-trust-spiffe-spire</link>
      <guid>https://kunalsinha.dev/blog/microservices-zero-trust-spiffe-spire</guid>
      <pubDate>Wed, 26 Mar 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[The network perimeter stopped being a meaningful security boundary years ago. SPIFFE and SPIRE give every workload a cryptographic identity instead — here's how that actually works.]]></description>
    </item>
    <item>
      <title><![CDATA[Prompt Engineering vs. Fine-Tuning vs. RAG: A Decision Framework]]></title>
      <link>https://kunalsinha.dev/blog/ai-prompt-engineering-fine-tuning-rag-framework</link>
      <guid>https://kunalsinha.dev/blog/ai-prompt-engineering-fine-tuning-rag-framework</guid>
      <pubDate>Wed, 19 Mar 2025 00:00:00 GMT</pubDate>
      <description><![CDATA[Three different techniques for customizing an LLM's behavior to your domain, each solving a genuinely different problem. Picking the wrong one is the single most common cause of AI feature projects that stall.]]></description>
    </item>
    <item>
      <title><![CDATA[Build vs. Buy for AI Capabilities: A Framework for Engineering Leaders]]></title>
      <link>https://kunalsinha.dev/blog/ai-build-vs-buy-framework</link>
      <guid>https://kunalsinha.dev/blog/ai-build-vs-buy-framework</guid>
      <pubDate>Thu, 25 Jul 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Managed AI services now cover far more ground than they did two years ago. The build-vs-buy decision engineering leaders actually need to make is narrower and more specific than it used to be — and getting it wrong is expensive in both directions.]]></description>
    </item>
    <item>
      <title><![CDATA[GitOps and Progressive Delivery: Making Canary and Blue-Green Rollouts Declarative]]></title>
      <link>https://kunalsinha.dev/blog/microservices-gitops-progressive-delivery</link>
      <guid>https://kunalsinha.dev/blog/microservices-gitops-progressive-delivery</guid>
      <pubDate>Thu, 18 Jul 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Progressive delivery used to mean a manual runbook and a nervous engineer watching dashboards. GitOps tools like Argo Rollouts and Flagger turned it into declarative configuration — here's how that actually works.]]></description>
    </item>
    <item>
      <title><![CDATA[RAG Architecture Patterns: From Naive Retrieval to Production-Grade Systems]]></title>
      <link>https://kunalsinha.dev/blog/ai-rag-architecture-patterns</link>
      <guid>https://kunalsinha.dev/blog/ai-rag-architecture-patterns</guid>
      <pubDate>Thu, 30 May 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[Naive RAG — embed, store, retrieve top-k, stuff into a prompt — works in a demo and falls apart in production. Here are the patterns that actually close the gap.]]></description>
    </item>
    <item>
      <title><![CDATA[Microservices Best Practices I Follow]]></title>
      <link>https://kunalsinha.dev/blog/microservices-best-practices</link>
      <guid>https://kunalsinha.dev/blog/microservices-best-practices</guid>
      <pubDate>Sat, 25 May 2024 00:00:00 GMT</pubDate>
      <description><![CDATA[The operational practices that separate microservices that run reliably in production from microservices that just look good in an architecture diagram.]]></description>
    </item>
  </channel>
</rss>