Home
Services
About Me
Contact Me
🌐
English
  • Part 2 - Teaching It to Look Things Up: Tools, Spring AI and Conversations at Once

    Oct 10, 2026 java spring-ai ai-agents architecture

    Background Part 1 ended with a mistake worth fixing. Meera’s complaint was: “what is SQ \TPR HSPTLTY on my statement? I don’t recognise it at all.” The system flagged it as fraud every single time, with full confidence. And honestly, based on the words alone, that seemed fair. But the real issue wasn’t the prompt - it …

    Read More
  • Part 1 - Multiple Runs : Why Deterministic Thinking Breaks!

    Sep 30, 2026 java spring-ai ai-agents architecture

    Background In Part 0 we built the system that Meridian Bank already has as an existing banking system: a REST API over PostgreSQL that applies every dispute rule exactly, every time. Run the same request twice, get the same answer twice. That property of building deterministic systems and testing them out comes very …

    Read More
  • Part 0 - The Dispute That No Rule Could Catch: What AI-Native Really Means in Enterprise Java

    Sep 23, 2026 java spring-ai ai-agents architecture

    Background Meera opens her banking app and sees a payment in her transaction history that she doesn't recognise: ₹180 to SQ *TPR HSPTLTY, four days ago. She had never heard of it. So she does the responsible thing - She opens the dispute form of her bank, picks "Unrecognised or fraudulent transaction", types …

    Read More
  • The Architect's Dilemma: Validating a Vibe-Coded MVP for Regulated Industries

    Aug 26, 2026 architecture vibe-coding

    What happens when senior leadership ships a "soft launch" to production without architectural review - and why every architect needs a battle-tested framework for saying no. Background A product company - has been building software for a industry that operates in highly regulated environment for more than …

    Read More
  • Billion User Trap - The Pagination Mistake That Can Take Down Your Database

    Jun 29, 2026 architecture distributed-systems database-optimization

    Background In Part 1, we established that access patterns & not entities should drive your design. In Part 2, we fixed the database by replacing brittle three-table JOINs with a covering index, reducing P99 on the listing query. The schema was right. The index was right. The listing API itself was fast. And then it …

    Read More
  • Billion User Trap - The Database Design That Looked Perfect on Day One

    Jun 16, 2026 architecture distributed-systems database-optimization

    Background In the first part we established the foundational principle that separates systems which survive scale from systems that collapse under it - design for access patterns, not for entities. In this second part we double click on the database design of the User Profile system and try to understand its impact …

    Read More
  • Three Fintech Architecture Post-Mortems - What AI-Augmented Review Would Have Caught

    Jun 11, 2026 architecture distributed-systems ai-augmented-se

    Background Architecture decisions rarely break at design time. They break a year later, under double the load, when an unwritten assumption proves false. I’ve seen this play out in synchronous coupling, storage models, and service splits - while architecting and designing FinTech platforms. That’s why I now run every …

    Read More
  • The Billion-User Trap

    Jun 6, 2026 architecture system-design

    Background This multi part series walks through the real architectural decisions and real mistakes behind designing a globally distributed KYC User Profile system - a system that should be capable of serving billions of users at 10M+ RPD with sub-500 ms P99 latency. It's mainly about weighing trade-offs and making …

    Read More

Dhaval Shah

Architecting systems that stay up, stay fast, and don't drain your cloud budget - so your team can focus on shipping
Read More

Recent Posts

  • Part 2 - Teaching It to Look Things Up: Tools, Spring AI and Conversations at Once
  • Part 1 - Multiple Runs : Why Deterministic Thinking Breaks!
  • Part 0 - The Dispute That No Rule Could Catch: What AI-Native Really Means in Enterprise Java
  • The Latency Lie: How Ready Pods Were Quietly Costing a FinTech
  • The Architect's Dilemma: Validating a Vibe-Coded MVP for Regulated Industries
  • Three Azure Cost Leaks - And the Analysis Process That Found Them
  • A Black Friday Incident Took 9 Days to Resolve - Here's the Process That Would Have Changed That
  • Same JSON Storage Problem, Different Database - What Postgres Does Differently

Categories

PERFORMANCE 14 SPRING-BOOT 10 ARCHITECTURE 8 CLOUD-NATIVE-ARCHITECTURE 8 AZURE 6 AI-AUGMENTED-SE 5 DATA-ENGINEERING 5 TESTING 5 AWS 4 DISTRIBUTED-SYSTEMS 4 PERFORMANCE-ENGINEERING 4 AI-AGENTS 3 JAVA 3 JVM 3
All Categories
ADF1 AI-AGENTS3 AI-AUGMENTED-SE5 ARCHITECTURE8 AWS4 AZURE6 BEST-OF-THE-WEEK1 CHAOS-ENGINEERING2 CLOUD-NATIVE-ARCHITECTURE8 DATA-ENGINEERING5 DATABASE-OPTIMIZATION2 DB-OPTIMIZATION1 DISTRIBUTED-SYSTEMS4 FINOPS1 INTROSPECTION1 JAVA3 JDK2 JVM3 KAFKA1 KUBERNETES1 LEADERSHIP1 MICROSERVICES1 PERFORMANCE14 PERFORMANCE-ENGINEERING4 REACTIVE1 SPRING1 SPRING-AI3 SPRING-BOOT10 SRE1 SYSTEM-DESIGN1 TESTING5 UNCATEGORIZED1 VIBE-CODING1
[A~Z][0~9]

Tags

PERFORMANCE 14 SPRING-BOOT 11 ARCHITECTURE 8 MICROSERVICE 7 TUNING 7 AZURE 6 CLOUD-NATIVE 6 AI-AUGMENTED-SE 5 DATA-ENGINEERING 5 AWS 4 DISTRIBUTED-SYSTEMS 4 PERFORMANCE-ENGINEERING 4 TDD 4 AI-AGENTS 3
All Tags
ACTUATOR1 ADF1 AI-AGENTS3 AI-AUGMENTED-SE5 ARCHITECTURE8 AWS4 AZURE6 CERTIFICATION1 CGLIB1 CHAOS-ENGINEERING2 CLOUD-NATIVE6 CLOUD-NATIVE-ARCHITECTURE1 DATA-ENGINEERING5 DATABASE-OPTIMIZATION2 DB-OPTIMIZATION1 DISTRIBUTED-SYSTEMS4 FINOPS1 GRAFANA2 INDEX1 JAVA3 JDK2 JVM3 KAFKA1 KUBERNETES1 LEADERSHIP1 LEARNING1 LINUX2 MICROSERVICE7 OOM1 PERFORMANCE14 PERFORMANCE-ENGINEERING4 PROMETHEUS2 REACTIVE1 SPRING3 SPRING-AI3 SPRING-BOOT11 SPRING-CLOUD1 SRE1 SYSTEM-DESIGN1 TDD4 TUNING7 VIBE-CODING1 XP2
[A~Z][0~9]

Copyright © 2026 DHAVAL SHAH. All Rights Reserved