Devanshu Chicholikar

ProjectsActive

CallBudget

Teach a pharmacy-finder to call less and find more

Built by Devanshu Chicholikar, software engineer and AI engineer in Boston.

WalkthroughSource on GitHub

Overview

Active-sensing pharmacy search: predict which pharmacy most likely has a hard-to-find drug, rank who a voice agent should call first, and learn from every answer. Tested on a simulated pharmacist with real pharmacy data.

The story

Finding a drug during a shortage means calling pharmacy after pharmacy, and an 'in stock' answer can still be wrong. CallBudget treats it as a search problem: predict which pharmacy is most likely to have it, call that one first, and learn from every answer.

A HistGradientBoosting ranker scores pharmacies by predicted stock. A Claude-driven voice agent (Pipecat, Deepgram, Cartesia) handles the conversation, tested against a simulated pharmacist on real pharmacy data. In the evals, every stock answer goes through an extractor that reads it several times and abstains when the reads disagree, so a shaky answer never sends a patient to an empty shelf. Wiring that vote into the live call is next.

On a 19-pharmacy Boston pool, expected calls to find the drug fell from 4.3 to 2.3 (47%). With the extractor rigged to misread stock 25% of the time, false 'in stock' answers fell from 10% to 0% at 3 votes, and 5 votes held 0% while abstaining on 51% of calls instead of 69%. It ships as a 4-tool FastMCP server. Real inputs are NPPES pharmacies, RxNorm and the FDA shortage window; call outcomes are synthetic, with zero PHI. There is a Loom walkthrough on the repo.

Key results

47%
Fewer calls to find, simulated

4.3 to 2.3 expected calls vs a shuffled baseline

10% to 0%
False 'in stock' answers, simulated

Self-consistency voting under a 25%-unreliable extractor

4
MCP tools

predict, plan, eval and converse over FastMCP

Zero PHI
Real public inputs

NPPES, RxNorm and FDA shortage data; synthetic outcomes

Built with

  • Python
  • scikit-learn
  • FastMCP
  • Pipecat
  • Deepgram
  • Cartesia
  • Optuna
  • DuckDB
  • Claude API