Internal tool · began as a take-home
A lead research pipeline with a human at the end
A LangGraph supervisor runs research, qualification and sales agents across public business sources, scores each company, drafts a four-touch outreach sequence and posts an approve or reject card to Slack. I built it as a take-home for RazorInfoTech in May 2026 and kept building it as an internal sales tool after I joined.
The problem
Sales research is slow, repetitive and easy to get wrong. The tempting fix is to let a model write and send emails on its own. I wanted the opposite: automate the reading and the first draft, and keep a person responsible for anything that leaves the building.
What I built
- A LangGraph supervisor that routes work between research, qualification and sales nodes.
- Connectors for web search, the Startup India registry, MCA, business directories, OpenStreetMap and Common Crawl.
- Scoring with retrieved context from ChromaDB or pgvector, with an optional mode where three personas argue the score.
- A Slack approval step in front of every outbound message.
- A FastAPI backend with live agent tracing over server-sent events, and a React and TypeScript frontend.
The part I care about: staying up
Free and cheap model endpoints fail often, so the reliability layer got most of the attention. Calls go through a pool of four endpoints (NVIDIA NIM, DeepSeek, Groq, OpenRouter). When one rate-limits or errors it cools down and the next one takes over. Identical prompts are served from a Redis cache, and the SQLite warehouse uses migrations that can be re-run safely.
What happened
The pipeline pulled 219,004 companies from the Startup India registry. From an 862-company Delhi NCR slice it produced call sheets with 108 phone numbers and 48 named decision-makers, for about $5 of enrichment spend. Those figures come from the playbook I wrote while running it.