About

I build backend systems that don't fall apart under load — mostly in Java and Spring Boot, with Kafka for async pipelines when things need to scale beyond a single service. Based in Bengaluru.

At Société Générale, I replaced a third-party asset management system with an in-house platform handling 45,000+ assets. The system reduced operational licensing cost by ~70% and gave us full control over auditability and event flows. I designed a Kafka-based event pipeline, migrated services from Flask to Spring Boot, and built an audit trail system to make state changes traceable and debuggable.

Currently at Target, I work on IVR and contact center infrastructure, building systems that simulate, test, and validate voice workflows. This involves handling real-time communication constraints, external integrations (Genesys), and reliability issues that don't show up in happy-path demos.

Independently, I built a Voice AI Testing Suite — a custom SIP engine over raw UDP that simulates full voice conversations using STT and TTS pipelines. It exists because manual IVR testing doesn't scale, and most tools in this space are either expensive or inadequate.

My current focus is the LLM Scoring Service — an open-source evaluation platform for scoring LLM responses in production. It uses an async Kafka pipeline, supports multiple scoring strategies, and provides real-time visibility into model performance. The goal is simple: make LLM behavior measurable instead of hand-wavy.

This blog is where I write about systems I've built, the tradeoffs behind them, and the mistakes that forced better designs.

Experience
  • Target
    Backend Engineer
    2024 – now
  • Société Générale
    Backend Engineer
    2021 – 2024
Stack
Java 21Spring BootKafkaPostgreSQLRedisPythonDockerReactAWS