Skip to content

Senior AI Engineer · Production agents

Bengaluru, India · IST

Your agent works in the demo. I make it work in production.

I build the layer around the model that production needs: MCP servers that connect it to your systems, evals that catch regressions, permissions that limit what it can touch, and tracing that shows what it did. Four of my agents run in enterprise production today.

diagnostic-agent · ssh prod-host · read-only
issue opened “API returning 502 since the last deploy”
agent.start scope=read-only allowlist=enforced
$ systemctl status app✓ allowed
● app.service activating (auto-restart)
$ docker logs app --tail 50✓ allowed
Error: ENOSPC: no space left on device
$ df -h /✓ allowed
/dev/root 30G 30G 0 100% /
$ docker system prune -af✕ denied
blocked: not on the allowlist — the agent cannot change the host
│ root cause disk full — container logs never rotated
│ suggested prune old images · enable log rotation
│ applied nothing. report posted to the issue.
$
Illustrative replay of the DevOps diagnostics agent. The guardrail is real; the incident is a typical one.See the system →
agents live in enterprise production

4

agents live in enterprise production

production systems shipped

11

production systems shipped

MCP servers & integrations built

7

MCP servers & integrations built

AMD AI Sprint 2025 · IISc

1st

AMD AI Sprint 2025 · IISc

01Selected work

Shipped, not sketched.

Each system is shown the way an engineer would want to see it: the architecture, the boundary it runs inside, and what changed.

All 8 case studies →
Fig. 05
ProductionObservability / SRE

Observability Copilot

Natural-language access to logs, metrics, traces and live endpoint health across a multi-application Kubernetes estate — built on a custom Grafana-stack MCP server I wrote because the one I needed did not exist.

Professional experience

→
Fig. 03
ProductionSoftware Engineering / Multi-Agent

Autonomous SDLC Pipeline

An issue-to-production loop run by cooperating agents. A Coder agent writes and checks the change, a Reviewer agent validates the PR, a person merges, GitHub Actions deploys to AWS — and when a deploy fails or production misbehaves, a Deployment or Production agent picks it up and feeds the fix back in.

hours → minutes

feature-to-deploy turnaround

→

Also in production

02The short version

Most AI projects die between the demo and the on-call rotation.

A working prototype proves a model can do something once. It says nothing about what happens at 3am when the ticket is ambiguous, the logs are noisy, and the query times out on high cardinality.

That gap is the work I care about. Closing it means meeting systems where they already are, so I write the tool layer myself, including the MCP servers that let an agent reach an observability stack and a ticket queue reliably rather than approximately.

Every ticket, manually

3 manual searches

  • Search for the right procedure
  • Dig through the logs
  • Search history for a similar case
  • Actually fix it

Three searches happen before anyone touches the problem. Repeated on every ticket, at every hour of the night.

Every ticket, with the agent

0 manual searches

  • Context already on the ticket
  • Actually fix it

The engineer's first action is judgement instead of search. Nothing about the fix itself was automated.

3 → 0

manual searches before the engineer starts work

Bars are illustrative — they show the shape of the change, not a measurement.

03How I build

I build the harness, not just the agent.

A model is the easy part. What makes an agent useful in production is everything around it: the tools it can reach, the access it is given, the checkpoints it stops at and the evals that tell you it still works. Every system on this site was built the same way.

  1. 01how a person does it today

    Understand the job

    Before any model, I map the workflow: what triggers it, what a person looks at, which decisions they make, and what done looks like. If I cannot describe the human version, the agent will not get it right.

  2. 02tools → MCP

    Give it the human's tools

    The agent gets the same tools that person uses (logs, metrics, tickets, docs, the repo), exposed through MCP servers and narrow tool interfaces. When the tool does not exist, I write it.

  3. 03failure modes first

    Ask how it goes wrong

    Ambiguous input, noisy logs, the wrong tool, a confident answer with nothing behind it. I list the ways it can fail and design for those before adding features.

  4. 04least privilege

    Set the blast radius

    Read-only by default, allowlisted commands, tokens pinned to hosts, secrets the model never sees. The agent gets exactly the access the job needs.

  5. 05human checkpoints

    Keep a person on the decision

    Agents prepare and recommend. Anything irreversible (a merge, a deploy, a publish, a delete) waits for a human. That boundary is why these systems were allowed near production.

  6. 06evals + tracing

    Evaluate, ship, watch

    A test set before launch, regression runs on every change, tracing once it is live. What happens in production becomes the next round of evals.

Principles that hold across every system

Automate the toil, keep the judgement

I point agents at the work that is repetitive, boring and low-value for a person: hunting for the right procedure, assembling context, building and redeploying, formatting a post. If it can be automated, it should be. The decisions that need judgement stay with people.

Build on the systems that already exist

No rip-and-replace. I wrap what already runs (Grafana, Loki, Prometheus, ticket queues, Confluence, GitHub Actions, Notion) behind MCP servers and tool interfaces. When the server I needed did not exist, I wrote it.

Human in the loop by default

Every agent I have put into production prepares, recommends or proposes, and a person approves anything irreversible. The incident copilot posts a recommended fix and the SRE acts on it. Merges, deploys and published posts all pass through a person.

Evaluated before it ships

A working demo is not a reason to ship. I define what correct means first, build test cases from real examples, run regression suites and LLM-as-judge scoring on every change, and trace behaviour once it is live, so a prompt or model change is a measured change.

“The interesting engineering is not making an agent capable. It is making it trustworthy enough to run in production.”

04Where it plugs in

No migration. The agent meets the stack where it is.

The common assumption is that an agent means a new platform, a new vendor and a quarter of integration work. It does not. The whole system is a tool layer written against systems that already run, and a person at the end of it.

Writing that layer is the part most projects underestimate. When the MCP server I needed did not exist, I wrote it.

The engineer

decides

Reads the recommendation and decides. The loop closes on a person.

The agent

reasons

Retrieves, reasons, and grounds every claim in something it actually read.

MCP + tool layer

I write this

Written against the systems that already exist. When the server I needed did not exist, I wrote it.

The stack that already runs

  • Grafana
  • Loki
  • Prometheus
  • Jaeger
  • Kubernetes
  • Ticket queues
  • Confluence
  • GitHub Actions
No platform migration, no rip-and-replace. The agent meets the stack where it already is.

05Track record

Roles, and results a stranger can check.

  1. 2025 — present

    Senior AI Engineer

    Production agent systems for engineering and IT operations. Custom MCP servers, autonomous anomaly detection on the observability stack, containerized agent workloads on Kubernetes.

  2. 2024 — 2025

    AI Engineer

    Multimodal GenAI invoice processing (10 minutes of manual effort down to under one), RAG over 100+ enterprise PDFs at 95%+ contextual accuracy, transformer fine-tuning, microservices on Cloud Run with CI/CD.

  3. 2024

    Freelance GenAI Engineer

    Independent client work — custom chatbots, real-time query resolution and AI-driven insights for small teams. Where I learned to scope an engagement rather than a task.

1st

place — 24-hour sprint at IISc

1st place — AMD AI Sprint 2025

24-hour competition at the Indian Institute of Science, sponsored by Hugging Face and Meta.

Top 100

of 31,000+ registrants

Finalist — Meta PyTorch OpenEnv Hackathon

Top 100 of 31,000+ registrants. Built a reinforcement-learning environment for decision-making under time pressure and incomplete information.

1,341

builders — a world record

Guinness World Record participant

Largest agentic AI hackathon — 1,341 participants, Google Cloud and Hack2skill, 2025. Built a multi-agent assistant on a custom MCP server.

06Writing

What I write about

Short, practical posts on building agents that hold up after the demo. Written from systems I have actually shipped, not from announcements.

01

Permissions and blast radius

Deciding what an agent must never be able to touch, before deciding what it can.

02

MCP tool-surface design

Why the tool layer, not the model, decides whether an agent reaches a system reliably.

03

Eval-driven development

Defining “correct” first, and making “done” a fact the system can check.

04

Hooks and guardrails

Turning rules an agent is asked to follow into constraints it cannot break.

Get in touch

Building an agent that has to survive production?

I write about MCP design, evals and guardrails on LinkedIn most days. If you're working on something similar, I'm happy to talk shop.