Work

Four companies, eight years, and a habit of picking up the problem nobody wanted. Scroll the career first, then read the projects as problem, what I did, and what changed.

Career

Keep scrolling. The years slide by.

2022 to now

Twilio · Segment R&D

Senior Software Developer
Org's leading AI initiative

Delivered Twilio's first customer-facing AI product — Functions Copilot — from a company hackathon, letting customers generate Segment functions from plain-English prompts. Built the RAG pipeline, the LangGraph agent, the streaming editor integration, and the eval harness that let us change prompts and models safely. Also shipped an internal knowledge base on self-hosted open models.

GolangTypeScriptReactLangGraphRAGEvalsOpenAISageMakerKafkaFastAPI
2020

Zivame

Senior Software Developer · India's largest lingerie platform
~60% infra cost reduction

Reduced infrastructure costs by ~60% by dockerising services and deploying to Spot.io Ocean Serverless Kubernetes. Led the multi-warehouse system end-to-end and directed 3 engineers. Optimised a nightly SKU sync from 3.5 hours down to 20 minutes using concurrent execution.

JavaSpring BootKafkaSolrDockerKubernetesAWS
2019

Itilite Technologies

Software Engineer
Zero-touch revenue automation

Integrated third-party hotel booking APIs and built a unified interface for package bookings. Individually built an automated invoice-downloading and GST reconciliation system — initially a favour for a colleague, it now generates revenue for the company without human effort.

PythonFlaskMySQLReact
2017

SKU Monetate

Software Engineer
15× pipeline speed-up

Built scalable web-crawling infrastructure on AWS. Eliminated Selenium from the pipeline, making it ~15x faster. Designed and built core components for SellerERP and SellerCRM, including a Drag & Drop email template editor inspired by Sendgrid.

PythonScrapyAWSKafkaGraphQLRedis
next

Your hard problem?

If it has to scale, has to be cheap, or has an agent in it, I want to hear about it.

Say hello

Selected projects

Each one is framed the same way so you can skim.

2022 – now
Twilio · Segment R&D
AI product

Functions Copilot

Twilio's first customer-facing AI product
The problem
Segment Functions are powerful but need JavaScript. Customers who understood their data but not the runtime were stuck.
What I did
  • Turned a hackathon demo into a shipped feature: plain-English prompts become working Segment functions.
  • Built the retrieval layer over docs, runtime types and known-good examples, and a LangGraph agent with a validate-and-repair loop.
  • Wired the agent into the editor with streaming, tool-call progress and human approval before anything deploys.
  • Built the eval harness that made every prompt and model change a measured pull request.
The result
Shipped to customers as Twilio's first customer-facing AI product, with an eval gate behind every change.
LangGraphRAGEvalsGolangTypeScriptReact
2024
Open source · personal project
Open source

ManasAI

An autonomous software-engineer agent, built in the open
The problem
In March 2024 Devin showed that an AI could work like a software engineer: plan a task, write code, run it and fix it. I wanted to understand how an agent like that works end to end, so I built one in the open, before tools like Lovable and Bolt made prompt-to-app mainstream.
What I did
  • Started within weeks of the Devin announcement and built the core of it: a TypeScript monorepo with a GraphQL API, a core agent library and a web app.
  • Wrote the agent loop as a planner, an agent that executes each step, and a replanner that revises the plan when a step fails.
  • Gave the agent tools for a terminal, a code editor, a web browser and search, all running inside a Docker sandbox so generated code runs away from the host machine.
  • Built a web interface that shows the plan, the shell output, the editor and the browser as the agent works, so you can watch what it does instead of trusting it.
The result
Open source under MIT, with a public roadmap for multi-agent and multi-model support. It is the second most-starred of my repositories, at 17 stars. It is experimental and the README says so plainly.
TypeScriptGraphQLDockerOpenAIAgents
2020
Zivame
Infrastructure

Spot-instance Kubernetes platform

~60% lower infra cost
The problem
Zivame, India's largest lingerie platform, ran long-lived instances sized for peak traffic that sat mostly idle.
What I did
  • Dockerised the services and made them stateless, fast to start and graceful on shutdown.
  • Moved them onto Kubernetes running mostly on spot capacity through Spot.io Ocean.
  • Added disruption budgets, spread constraints and honest readiness probes so reclaimed nodes were a non-event.
The result
Roughly 60% off the compute bill, better availability, and new services shipping as pull requests.
KubernetesDockerAWSSpot.ioJavaSpring Boot
2020
Zivame
Data pipeline

Nightly SKU sync rewrite

3.5 hours to 20 minutes
The problem
The nightly catalogue sync between the commerce platform and the warehouses was sequential, and on bad nights it outran the morning.
What I did
  • Profiled first: the job was I/O bound, waiting on one warehouse call at a time.
  • Batched requests and added bounded concurrency tuned against the warehouse API.
  • Made every write idempotent so retries were safe, and trimmed payloads to the fields that mattered.
The result
About 20 minutes end to end, resumable after failure, and cheap enough to run more than once a day.
JavaConcurrencyKafkaSolr
2020
Zivame
Leadership

Multi-warehouse inventory system

Led 3 engineers end to end
The problem
Stock lived in one place while fulfilment moved to several warehouses.
What I did
  • Led the system from design to production and directed three engineers.
  • Built on the containerised platform so the new service could scale and deploy independently.
The result
Shipped as a standalone service, enabled by the platform work underneath it.
JavaSpring BootKafkaKubernetes
2019
Itilite Technologies
Automation

Invoice download and GST reconciliation

Revenue with zero human effort
The problem
Finance spent a week every month downloading invoices from supplier portals and matching them to GST filings by hand.
What I did
  • Started as a favour: a script that fetched invoices from each portal through small per-supplier adapters.
  • Grew into extraction and reconciliation: parse each invoice, match against GST data, surface only the exceptions.
  • Kept evidence with every extracted value and left the final approval to a person.
The result
Recovers input tax credit that used to go unclaimed, and keeps running without anyone touching it.
PythonFlaskMySQLAutomation
2017
SKU Monetate
Data pipeline

Crawling without Selenium

15× faster pipeline
The problem
A fleet of headless browsers was the bottleneck for the whole product, slow and memory hungry.
What I did
  • Reverse-engineered what each page actually requested and replaced browsers with request-level Scrapy spiders.
  • Ran crawls on AWS with Kafka for work distribution and Redis for per-domain rate limits.
  • Also built core pieces of SellerERP and SellerCRM, including a drag and drop email template editor.
The result
Around 15× faster, with many small disposable workers instead of a few fragile large ones.
PythonScrapyAWSKafkaRedisGraphQL
2018
Open source · personal project
Open source

Amazon crawler

Three spiders cover a catalogue end to end
The problem
Product data on Amazon is spread across three kinds of page: category trees, listing pages and individual product pages. Getting a complete picture means crawling all three and keeping them consistent.
What I did
  • Wrote a Scrapy project with one spider per page type: categories, listing and product detail, run with a single command.
  • Covered ratings and reviews on the product pages, not just titles and prices.
  • Kept it small and readable so others could adapt it, and published it under MIT.
The result
Open source under MIT and 20 stars on GitHub, the most-starred of my repositories.
PythonScrapyCrawling

Got a problem like these?

Throughput, cost, correctness, or an agent that needs to behave. Tell me what it is.

Start a conversation