---
title: Sudhanva Narayana | Senior ML Engineer
description: Public professional profile, production ML case studies, and technical writing.
canonical: https://sudhanva.me/
last_updated: 2026-11-11
---

# Sudhanva Narayana | Senior ML Engineer

Sudhanva Narayana is a Senior Machine Learning Engineer in the San Francisco
Bay Area who builds the platforms, inference pipelines, and GPU infrastructure
that take models from research notebooks into production. His focus spans
Kubernetes compute platforms, high-throughput batch prediction, low-latency
model serving, multi-GPU delivery pipelines, and distributed fine-tuning with
PyTorch DDP across AWS, GCP, and Azure.

Recent work includes screening 10B+ drug candidates in under three hours,
cutting annual cloud spend by over $500K through GPU-aware autoscaling on
Kubernetes/Ray/Flyte, and building self-serve ML tooling and evaluation
leaderboards for research teams.

This site hosts first-party case studies and long-form engineering notes on
production ML, distributed training, Kubernetes, vector databases, Python
tooling, and infrastructure design.

## Selected impact

- [10B+ rows: Batch prediction across TensorFlow workloads](https://sudhanva.me/work/case-studies/billion-row-batch-inference/): Scored across distributed TensorFlow workers in under three hours for drug-candidate screening at Montai.
- [$500K+ annually: Cloud infrastructure cost reduction](https://sudhanva.me/work/case-studies/production-ml-platform-kubernetes/): Cut from our annual cloud bill through GPU node autoscaling, right-sizing, and shutting down idle capacity.
- [2× release velocity: Multi-GPU Kubernetes delivery with CI/CD](https://sudhanva.me/work/case-studies/multi-gpu-model-build-deployment/): Moved model builds and hyperparameter tuning onto parallel GPUs in CI/CD, which cut release time in half and lowered GPU spend per release.
- [1M+ daily: Interactions analyzed for next-click prediction](https://sudhanva.me/blog/posts/real-time-transformer-prediction-at-autodesk/): User events scored in real time by a next-click transformer pipeline I shipped at Autodesk.
- [65.6M LoRA parameters: Engineering study: PyTorch DDP fine-tuning](https://sudhanva.me/work/case-studies/pytorch-ddp-gemma-4-fine-tuning/): Rank-16 adapters train 0.55% of Gemma 4 12B (65.6M of 11.96B parameters), small enough to sync over plain PyTorch DDP.

## Featured case studies

### [Billion-Row Batch Inference for Scientific Models](https://sudhanva.me/work/case-studies/billion-row-batch-inference/)

Built and ran a distributed TensorFlow prediction pipeline at Montai that scores 10B+ candidate rows end to end in under three hours.

- 10B+ rows
- Under 3 hours end to end

Technologies: TensorFlow, Kubernetes, Ray, Flyte, Python, Prometheus, Grafana.

### [Production ML Platform on Kubernetes](https://sudhanva.me/work/case-studies/production-ml-platform-kubernetes/)

Built and ran Montai’s ML compute platform on Kubernetes, Ray, and Flyte, which cut annual cloud spend by over $500,000 and dropped turnaround time for researchers from days to minutes.

- $500K+ annual cloud-cost reduction
- Time to insight reduced from days to minutes

Technologies: Kubernetes, Ray, Flyte, Prometheus, Grafana, MLflow, Terraform.

### [Multi-GPU Kubernetes Delivery Platform](https://sudhanva.me/work/case-studies/multi-gpu-model-build-deployment/)

Built a multi-GPU model build, hyperparameter tuning, and CI/CD pipeline on Kubernetes that doubled release velocity and lowered GPU spend per release.

- 2× release velocity
- Automated build, tuning, and deploy
- Lower GPU cost per release

Technologies: Multi-GPU systems, TensorFlow, PyTorch, CI/CD, GitHub Actions, Kubernetes.

## What I build

- **Production ML Platforms:** I build and run shared compute platforms on Kubernetes, Ray, and Flyte, provisioned with Terraform and Argo CD, so researchers can launch multi-GPU jobs and track runs in MLflow without filing infra tickets.
- **Inference and Serving:** Distributed TensorFlow batch pipelines that score 10B+ rows in under three hours at Montai, and low-latency online serving for models like Autodesk’s real-time click-prediction transformer.
- **Distributed Training:** Multi-GPU training and LoRA fine-tuning in PyTorch with DDP, torchrun, and NCCL, starting from upfront VRAM and bandwidth math to decide when plain DDP is enough and when a model needs FSDP or tensor parallelism.
- **Reliability and Operations:** Prometheus and Grafana dashboards, alert rules, ingestion schema checks, and GPU node autoscaling that cut Montai’s annual cloud spend by over $500K.
- **Scientific and Data-Intensive ML:** Pipelines for workloads where data movement is the bottleneck, including billion-row molecular screening, 1 TB+/day hyperspectral satellite imagery, cross-AZ Milvus vector search, and internal model leaderboards.

## Open-source projects

- [HTTPS Caddy + Tailscale](https://sudhanva.me/work/https-caddy-tailscale/): Docker Compose stack pairing Tailscale with Caddy for zero-config HTTPS on self-hosted services, even behind residential CGNAT.
- [K3s on Oracle Always Free](https://sudhanva.me/work/k3s-oracle/): Three-node ARM64 K3s cluster on Oracle Cloud Always Free, provisioned end to end with Terraform, Argo CD, Envoy Gateway, and automatic TLS.
- [Bare-Metal Kubernetes Homelab](https://sudhanva.me/work/homelab/): Declarative bare-metal Kubernetes homelab on Ubuntu 24.04 with Ansible, Cilium, Argo CD ApplicationSets, Longhorn, and Tailscale.
- [Electrical Impedance Tomography](https://sudhanva.me/work/eit/): Deep-learning research on Electrical Impedance Tomography that uses CNNs to reconstruct internal tissue conductivity maps from surface electrode voltages.
- [Observable Node.js on Kubernetes](https://sudhanva.me/work/node-js-kubernetes-helm/): Reference Node.js microservice on Kubernetes wired with Helm, Prometheus, Grafana, Jaeger, Zipkin, and OpenTracing.
- [tchat](https://sudhanva.me/work/tchat/): Python scripts and notebooks for testing multi-turn conversation memory and Chroma retrieval with LangChain and the OpenAI API.

## Recent writing

- [Rhumbatron: Many AI Agents on One Codebase](https://sudhanva.me/blog/posts/rhumbatron-many-ai-agents-one-codebase/): How we built a multi-agent Git platform on Cloudflare Workers, Artifacts, and Durable Objects that detects semantic conflicts, verifies candidate builds in sandboxes, and promotes only passing releases.
- [PyTorch DDP for Fine-Tuning Gemma 4 on Multiple GPUs](https://sudhanva.me/blog/posts/pytorch-ddp-fine-tuning-gemma-4/): How PyTorch DistributedDataParallel works and when it is the right tool for LoRA fine-tuning Gemma 4, with a complete torchrun script, memory math for the 12B model, and the failure modes that hang multi-GPU jobs.
- [How I Consolidated Milvus Across AZs](https://sudhanva.me/blog/posts/consolidating-milvus-across-azs/): Step-by-step runbook for migrating a multi-AZ Milvus deployment onto a single dedicated Kubernetes node without losing a single vector.

## Frequently asked questions

### Is Sudhanva open to new opportunities?

I’m open to remote roles, or hybrid and on-site work in the Bay Area, especially in ML infrastructure, inference, and platform engineering, or backend and distributed systems. Reach out by email or LinkedIn.

### What does Sudhanva specialize in?

He works on ML infrastructure and distributed inference. Most of his work involves large batch prediction pipelines, online model serving, multi-GPU training on Kubernetes, Ray, and Flyte, and keeping GPU cloud costs down.

### What production-scale systems has he built?

At Montai Therapeutics, he built a TensorFlow batch pipeline that scores 10B+ candidate molecules in under three hours, a Kubernetes/Ray/Flyte compute platform that cut annual cloud spend by over $500K, and a multi-GPU CI/CD pipeline that cut model release time in half. Earlier, he shipped a real-time transformer scoring 1M+ daily events at Autodesk and built multi-region satellite imagery pipelines at Pixxel.

### Where is Sudhanva based?

Sudhanva is based in the San Francisco Bay Area and works remotely as a Senior Machine Learning Engineer at Montai Therapeutics.

### What technologies does he use?

Mostly Python and SQL on top of Kubernetes, Ray, Flyte, PyTorch (DDP), and TensorFlow, with Terraform, Argo CD, Prometheus, and Grafana across AWS, GCP, and Azure.

### Where can someone see his work?

The Work page has five case studies and six open-source repositories. The Blog has longer technical write-ups, and the About and HTML résumé pages list his full work history.

## Start here

- [Production case studies](https://sudhanva.me/work/)
- [Production ML systems expertise](https://sudhanva.me/expertise/production-ml-systems/)
- [Writing archive](https://sudhanva.me/blog/)
- [About and experience](https://sudhanva.me/about/)
- [HTML resume](https://sudhanva.me/resume/)
- [Contact](https://sudhanva.me/contact/)
- [Developer resources and public API](https://sudhanva.me/developers/)
- [Agent guide](https://sudhanva.me/llms.txt)
- [Sitemap](https://sudhanva.me/sitemap-index.xml)

## Agent capabilities

- Retrieve Sudhanva Narayana's published professional profile.
- List published technical articles, optionally filtered by tag.
- Retrieve one published article by canonical slug.
- List published production ML case studies and verified outcomes.
- Create and poll a temporary profile-insight job from published evidence.

## API endpoints

- `GET https://sudhanva.me/api/v1`: API discovery
- `GET https://sudhanva.me/api/v1/profile`: Public profile
- `GET https://sudhanva.me/api/v1/posts`: Published article metadata
- `GET https://sudhanva.me/api/v1/posts/{slug}`: One published article
- `POST https://sudhanva.me/api/v1/profile-insights`: Create an idempotent insight job
- `GET https://sudhanva.me/api/v1/profile-insights/{job_id}`: Poll an insight job
- `GET https://sudhanva.me/openapi.json`: OpenAPI 3.1 contract

## Authentication and safety

You do not need authentication. All retrieval operations are read-only.
Profile-insight jobs accept only documented enum values and expire after 24
hours. They never change published content or accept private-data inputs. Do
not send credentials or secrets. See the [agent authentication
contract](https://sudhanva.me/auth.md) and [safe testing
policy](https://sudhanva.me/docs/sandbox/).

## MCP, SDKs, and CLI

- MCP Streamable HTTP endpoint: `https://sudhanva.me/mcp`
- Product MCP endpoint: `https://sudhanva.me/mcp/product`
- MCP server card: `https://sudhanva.me/.well-known/mcp/server-card.json`
- [Official MCP Registry listing](https://registry.modelcontextprotocol.io/v0.1/servers/me.sudhanva%2Fpublic-profile/versions/1.4.2)
- [Public Smithery listing](https://smithery.ai/servers/nsudhanva/public-profile)
- [Public Agent Skills source](https://github.com/nsudhanva/sudhanva-agent-skills)
- [Installable skills on skills.sh](https://skills.sh/nsudhanva/sudhanva-agent-skills/research-sudhanva-profile)
- CLI install: `brew install nsudhanva/sudhanva/sudhanva`, or the archive steps at `https://sudhanva.me/developers/cli/`
- Python SDK: `python -m pip install sudhanva==0.2.0`
- Go SDK: `go get github.com/nsudhanva/sudhanva-go@v0.2.0`
- Ruby SDK: `gem install sudhanva --version 0.2.0`
- Rust SDK: `cargo add sudhanva@0.1.0`
- JavaScript SDK: `npm install @nsudhanva/sudhanva@0.2.0` from GitHub Packages (needs a `read:packages` token in `.npmrc`)
- SDK guide: `https://sudhanva.me/developers/sdks/`
- Scoped developer index: `https://sudhanva.me/developers/llms.txt`

## Sitemap

- [Site map in Markdown](https://sudhanva.me/sitemap.md): every page on sudhanva.me, grouped by section
