Senior Software Engineer · San Francisco Bay Area

Hi, I'm

Akshay Bankar.

Systems that cost less to run after I ship them.

An ingestion pipeline that cut CPU load 80%. A portal migration that retired $800K a year in licensing. A five-agent search that refuses to guess. Backend, data and AI work across healthcare, retail logistics and insurance, built to keep running.

Now at Stanford Health Care: an AI tagging assistant that cut authoring effort 80%, and a page system authors extend through configuration alone.

provider-search-agent · trace
  1. vocabulary“knee doctor” → 3 concepts · orthopedic surgery, sports medicine, physiatry
  2. retrievalwidened 2× · 412 providers · honesty: 1 filter the data cannot honor
  3. disambiguation“J. Patel” → 4 people · separated by taxonomy and city
  4. orchestratortree of thought · 2 interpretations kept, 1 dropped
  5. answerabilitygate 2 → escalate · plan network membership unknown
Provider Search AgentCapstone · active

Selected work

Built because something kept breaking.

Each of these started as a failure I could name: a directory that returns the wrong doctor without a hint, ten years of market data that goes stale unless something refreshes it every morning, a bridge that must expose one endpoint and nothing else.

Flagship project

Provider Search Agent Carnegie Mellon capstone · active development

Provider directories return the wrong doctor and never say so. This one refuses to guess.

Every displayed result is grounded in a live tool call to the CMS national provider registry. When the registry can’t say whether a doctor takes your plan, the answer says exactly that, instead of a confident wrong name. The agents interpret the request, map it to clinical taxonomy, widen the search only as far as the data supports, and screen for providers you can actually book.

Role
Author. Five-agent LangGraph system built as the Carnegie Mellon Agentic AI capstone: architecture, agents, orchestration, guardrails, replay-based tests and the streaming viewer.
Problem
A directory has to settle two questions the registry doesn't: which person is this, and does this person do what I need. Fixed rules fail silently, so the patient gets the wrong provider, or never sees the right one.
Users
Patients and care coordinators searching by specialty, name or plan.
Agents
Interpret the request, map it to clinical taxonomy, widen the search adaptively with an honesty report on what the data cannot honor, screen for bookable providers, and route the answer through an answerability agent that refuses to go beyond the evidence. Two guardrail gates, six escalation paths, one durable log of cases a human settled.
Technology
agents: Python, LangGraph, Tree of Thought over a ReAct loop with nine tools · data: live tool calls against the CMS NPPES registry and NUCC taxonomy, pluggable semantic encoder · api: FastAPI streaming one event per agent step · viewer: Preact + htm, vendored, no build step · tests: recorded model turns, so the suite spends no tokens

Private repository · Walkthrough on request

web/app.py · one event per step
  1. query“cardiologist near 94304 who takes my plan”
  2. constraintsgeo ✓ · specialty ✓ · plan network ✗ not in registry
  3. retrieval137 candidates · widening stopped at policy limit
  4. orchestratortool: practice_volume → 12 with procedure history
  5. answerabilityanswer states what the data cannot determine

Illustrative agent traceNot a screenshot

Supporting systems

More selected work

03 projects

S&P 500 · sector treemap · 10-year hypertable

Data / dashboard

Market Atlas

A market-intelligence dashboard over the S&P 500, NASDAQ-100 and Dow 30, with a ten-year backfill kept current by incremental daily updates into TimescaleDB. Sector heatmaps, candlesticks with indicators and per-symbol news sentiment sit on top. The Claude-powered query flow answers plain-English questions only through approved SQL templates, with a validated read-only fallback and every query logged.

Role: Data pipeline, schema and hypertables, Streamlit UI, Claude query flow, daily refresh on GitHub Actions

  • Python
  • PostgreSQL
  • TimescaleDB
  • Streamlit
  • Plotly
  • Claude API
  • GitHub Actions
# one endpoint. text in, nothing else.
POST /v1/messages
Authorization: Bearer ••••••••
{ "text": "Your verification code is 482913" }

202 queued → group “Family alerts”
session.enc  AES-256-GCM  mode 0600

Infrastructure / messaging

Wraith

A self-hosted bridge from Make to a single WhatsApp group that can’t be pointed anywhere else: callers send message text, never a phone number or chat ID, and the service fails closed if the group name isn’t unique. Session state is encrypted at rest, requests are rate- and size-limited, and the logs never contain a message. It runs in production as a systemd service behind Caddy.

Role: Design, build and production deployment as a systemd service behind Caddy TLS

  • TypeScript
  • Node.js
  • Baileys
  • AES-256-GCM
  • systemd
  • Caddy
Step 1/4  calendar: 3 events before 12:00
Step 2/4  free window 06:30 → 07:45 = 75 min
Step 3/4  weather: Sunny
Step 4/4  32 approved trails scored
          + Whispering Pines Loop  ~65 min  2.87
          x Highland Traverse     ~104 min  no fit
>> Whispering Pines Loop — 8.2 km, shaded

Agentic / CLI

Trail-Scout

Which trail to run each morning used to mean checking the calendar, the weather and the trail list before coffee. Trail-Scout makes that call: a Claude tool-use agent with four tools that reads the morning’s schedule, works out the free window before the first meeting with a 45-minute get-ready buffer, checks the weather, and scores 32 approved trails on whether they fit the window and how well their surroundings suit the conditions, favouring shaded routes in direct sun.

The full decision trace prints before the answer, every tool call visible, and a deterministic recommender takes over when there’s no API key. Calendar and weather feeds are mock data by design, ready to swap for real ones.

Role: Tool design, Claude tool-use loop, deterministic fallback recommender

  • Python
  • Anthropic SDK
  • Tool use
  • Rule-based fallback

Archive

Other experiments and systems

11 projects

How I build

Engineering capabilities

Each one opens with a number from production, not a self-rated percentage.

  1. 01

    Backend & distributed systems

    The batch job that pinned AEM at full load now runs at a fifth of the CPU and finishes 60% sooner.

    I re-architected Stanford Health Care's ingestion pipeline into an event-driven system that publishes only changed data through entity-based SNS topics and SQS queues, with AEM kept as the single source of truth. Earlier, I led Equitable's Enhanced Service Portal off IBM WebSphere and onto Spring Boot and Angular on Azure Kubernetes Service, which retired $800K a year in licensing.

    Java · Spring Boot · AWS SNS/SQS · Azure Kubernetes Service · REST · Oracle · PostgreSQL

  2. 02

    Applied AI & agentic systems

    Every number in the answer comes from a tool call, and the agent says so when the data runs out.

    Provider Search Agent grounds five LangGraph agents in live calls to the CMS provider registry and refuses to go beyond the evidence. At Stanford Health Care, an AI tagging assistant cut authoring effort 80% and a SEO metadata generator ships every page search-ready behind a gateway that can switch models. Market Atlas answers plain-English market questions only through approved SQL templates, with a validated read-only fallback and full query logging.

    LangGraph · LangChain · LlamaIndex · CrewAI · MCP · Claude API · Gemini (Vertex AI) · RAG & vector search

  3. 03

    Content platforms, search & frontend

    New page types with zero new components, and doctor lookups that fell from seconds to under 500 ms.

    A backend binding layer maps structured content into existing AEM components with pluggable formatters, reusable presets and cacheable server-side pagination, so authors assemble page types through configuration. A 50K-link crawler and a dynamic sitemap that serves only updated content sharpened search across doctor, condition, clinic and clinical-trial pages. Upgrading legacy components made the public site fully keyboard-navigable and lifted Lighthouse scores 20–30%; 20+ responsive components cut new-component build time in half.

    AEM · Server-side rendering · TypeScript · Angular · Accessibility · Web crawling · Search

  4. 04

    Data, integrations & delivery

    Delivery tracking for three-quarters of an appliance business, with the exceptions surfaced before customers call.

    At The Home Depot I built the backend of the Carrier Communications platform, retired a legacy carrier app for Spring Boot microservices, moved vendor auth to OAuth2 and wired New Relic, Looker and BigQuery into observability for operations teams, with Jenkins and Maven pipelines running automated deployments and integration tests. At Stanford, a recursive traverser over 100K+ JCR nodes feeds Metabase so the whole site is queryable in one place. Market Atlas keeps ten years of market data current with a daily GitHub Actions job into TimescaleDB.

    PostgreSQL / TimescaleDB · Oracle · MongoDB · BigQuery · Metabase · GitHub Actions · Jenkins · TDD

Professional context

Experience & background

Seven years across healthcare, retail logistics and insurance, and the pattern holds: find the job that saturates the server, the integration nobody owns, or the search that guesses, and replace it with something a team can run without me.

Based in the San Francisco Bay Area.

Experience Selected roles

  1. Senior Software Engineer

    Jan 2023 – Present

    Stanford Health Care

    The batch pipeline that pinned AEM at full load now runs at a fifth of the CPU and finishes 60% sooner, after moving the heavy work into an event-driven system on SNS and SQS. Shipped an AI tagging assistant that cut authoring effort 80%, a one-click SEO metadata generator behind a model-switching GenAI gateway, and a server-side binding layer that lets authors create new page types through configuration alone. Doctor and clinic lookups dropped from seconds to under 500 ms behind a 50K-link crawler.

    Java · Spring Boot · AEM · AWS SNS/SQS · GenAI gateway · TypeScript · Metabase

  2. Senior Software Engineer

    Oct 2021 – Jan 2023

    The Home Depot

    Three-quarters of Home Depot's appliance deliveries were tracked through services I engineered on the Carrier Communications platform. Retired a legacy carrier application in favour of Spring Boot microservices and REST APIs, moved vendor authentication to OAuth2, and put delivery exceptions in front of operations teams through New Relic, Looker and BigQuery. Delivered in an XP environment with TDD and pair programming.

    Java · Spring Boot · REST · Oracle SQL · OAuth2 · New Relic · BigQuery · Jenkins

  3. Software Engineer

    Sep 2019 – Oct 2021

    Equitable Life Insurance Company

    Saved $800K in licensing by leading the Enhanced Service Portal off IBM WebSphere portlets and onto containerised Spring Boot and Angular services on Azure Kubernetes Service. Refactored the “Blackbox” premium engine to cut manual effort 70%, and built the Benefit Payment Program so operators could process life insurance payouts end to end, from claim intake and beneficiary validation to approval.

    Java · Spring Boot · Angular · Azure AKS · J2EE · SQL

  4. Software Engineer Intern

    Jul 2019 – Sep 2019

    Informative Technologies

    Halved a refurbishment team's manual search effort with Node.js scraping pipelines that turned unstructured online sources into structured datasets, plus an e-waste visualisation dashboard, for a Charlotte Green Initiative project.

    Node.js · JavaScript · MySQL · Data pipelines

  5. Software Developer

    Jun 2016 – May 2017

    BiCS Infotech

    Shipped to the Regional Transport Office as a mobile app: an OCR pipeline that mapped 500+ vehicle-title documents to their owners, with every extracted plate number verified against license-plate records in the database using sample data. Also built a high-throughput MEAN-stack web application and an Android app backed by a Java server with a JSP and Servlet companion site.

    MongoDB · Express · AngularJS · Node.js · Android · Java · OCR

Contact

Tell me what's slow.

Open to senior and staff engineering roles in distributed systems, data platforms and applied AI, and to selected technical collaborations.

Based in the San Francisco Bay Area. Open to hybrid and remote.

Current focus

  • Distributed Systems & Data Pipelines
  • AI Agents, Grounding & Evaluation
  • Search & Content Platforms
  • Cloud Delivery

Email me