Reet Nandy

Reet Nandy · Software engineer · New York

I build AI products and the systems under them.

Engineer #2 at KeyPedia, founding engineer at Sentrion AI before that. I own the work from the first customer conversation to production.

Both tickets are from KeyPedia. Scroll to see where they landed.

Now · KeyPedia · April 2026 – now

Engineer #2 at KeyPedia, regulatory data for pharma. I own the technical relationship with our Fortune Global 500 pharma and S&P 500 medtech customers, from discovery to production.

422k regulatory events across 7 jurisdictions, a 178k-company register, 18 search sources.

Diagram of the KeyPedia platform Reet Nandy works on: scrapers pull filings from regulators such as the FDA, EMA and MHRA, Gemini extraction on autoscaled Celery and KEDA workers writes them to one PostgreSQL source of truth with read replicas, a permission-gated search gateway and a plain-English search parser serve the Next.js web app, an MCP server brings the platform into clients’ AI, and a BigQuery data product is shared into an industry partner’s warehouse. Regulators FDA · EMA · MHRA Scrapers 11 sources LLM extraction Gemini, ~$0.06/doc Celery + KEDA autoscaled workers BigQuery 422k events PostgreSQL one source of truth Read replicas heavy reads Search gateway permission-gated NL search 62% → 88% Web app Next.js MCP server OAuth 2.1 Partner warehouse shared natively Pharma teams quality + compliance Client’s AI via MCP Diagram of the KeyPedia platform Reet Nandy works on: scrapers pull filings from regulators such as the FDA, EMA and MHRA, Gemini extraction on autoscaled Celery and KEDA workers writes them to one PostgreSQL source of truth with read replicas, a permission-gated search gateway and a plain-English search parser serve the Next.js web app, an MCP server brings the platform into clients’ AI, and a BigQuery data product is shared into an industry partner’s warehouse. Regulators Scrapers LLM extract Celery + KEDA BigQuery PostgreSQL Replicas Search gateway NL search Web app MCP server Partner Pharma teams Client’s AI
KeyPedia platform, live

Truth

Symptom production data a few weeks out of date.

4.6M

rows, one writer.

Root cause A nightly dev→prod sync upserted on surrogate keys. The same logical row had a different ID in each database, so the sync overwrote production.

Fix A single-writer topology: every scraper and pipeline writes the primary, reads go to replicas. I reconciled 125 tables with a foreign-key-resolved content-hash diff, gated the reload on dev being a content superset of prod, and cut over by flipping one secret, reversible in minutes. 0 FK orphans. Running the copy in-region took it from 3,643s to 691s.

Rejected Repairing the sync. Surrogate IDs are not cross-database keys, so no upsert keyed on them can be correct.

Cost

Symptom an extra $12.6k on the LLM bill.

$12.6k

of overspend, traced to one loop.

Root cause KEDA scaled on Redis list length, and a task leaves the list once a worker takes it. The queue read as empty, pods scaled to zero mid-task, and late acks redelivered every killed task: 62k retries on 94 documents.

Fix Designed the workers for at-least-once delivery: claim each document before the LLM call, commit before ack, leases with heartbeats, fencing tokens so a stale worker’s write is rejected, and attempt caps. The new bulk pipeline runs on this design.

Rejected Pinning one replica. It hides the blind scaler instead of fixing it, and scaling down still kills tasks in flight.

Scale

~$0.06

per scanned document, 11 sources.

Every page is classified, extracted and cross-checked on key fields, and mismatches go to human review. A cheap classifier rejects wrong documents before extraction. Worker capacity went from 16 to 64 concurrent documents, and a scanned-guidance backfill transcribed 657 pages for $0.13 with zero errors.

Quality

Symptom search misses on plain-English queries.

88%

search accuracy, up from 62%.

Root cause The same errors reproduced on three different models, so the gap was prompt and vocabulary, not model quality. 41 of 176 benchmark queries needed filters the parser couldn’t express.

Fix Eval-gated prompt, vocabulary and deterministic pre-pass work across three callers, scored exact-match on a 176-query benchmark. A set frozen before tuning scores 92%. Any regression blocks the release. 0.9s median.

Rejected Upgrading the model, and big closed vocabularies as schema enums, which cost latency and determinism.

Architecture

10 → 1

search bars, one policy gateway.

A client saw 6 results on a company’s public page and 20+ in the app: three matching engines used different trigram thresholds. I replaced ten search bars and three engines with one server-driven registry across 18 sources behind a single policy gateway. Parity is pinned by tests that fail if the frontend and backend contracts drift. About 7k lines of duplicate code removed.

Rejected A count teaser for locked sources. It would leak data through counts.

Clients’ AI

MCP

our platform, inside clients’ AI.

An MCP server with 14 tools and 971 automated tests: OAuth 2.1 with PKCE and dynamic client registration, consent-gated write scopes, per-user admission control and kill switches. At a live demo a Fortune Global 500 pharma rated it deeper than its in-house agent. Submitted to the Claude connector directory.

Result

2×

partner renewal.

A partner wanted our data queryable inside its own warehouse. I designed a 13-table BigQuery star schema of 422k events across 7 jurisdictions, loaded through federated queries on a read replica and shared natively into theirs. It supported a 2× renewal.

Stack

Systems

Languages
Python, TypeScript
Frameworks
Django, FastAPI, Next.js
Data
PostgreSQL, MongoDB, Redis, BigQuery
Queues
Celery, Kafka, RabbitMQ
Infra
GCP, AWS, Kubernetes, KEDA

AI

Models
Claude, Gemini, OpenAI
Agents
LangGraph, AWS Bedrock
Protocols
MCP, OAuth 2.1
Retrieval
GraphRAG, vector search
Evals
LLM evals, LangFuse

Before KeyPedia, I was Sentrion’s first engineer.

Before · Sentrion AI · May 2025 – April 2026

Sentrion tells sales teams which companies are changing, and why now. I was its first technical hire and built the platform.

A LangGraph multi-agent system on AWS Bedrock in the core product researches each account’s signals and writes the playbook: whom to reach, when, and the pain point.

I replaced $5k a month of vendor tools with two FastAPI services and priority RabbitMQ queues, with LLM evals in LangFuse, and cut AWS spend by $3k a month.

1:1 technical point of contact for enterprise clients.

Before Sentrion: five internships and a freelance stint, 2020 to 2024.

How I got here

Internships on three continents, then two startups.

  1. 2020

    Shiva SystemsMumbai · Software engineering intern · May – June 2020Scraped ten years of records into a queryable dataset.
    • Wrote Python scrapers that turned ten years of historical records into a dataset, replacing a manual process.
    Universidad de IbaguéIbagué, Colombia · Technical intern, data · July – October 2020Made a slow data job three times faster.
    • Rewrote the Python processing so the same job ran three times faster.
    • Worked on drought-index data and geospatial workflows in ArcGIS.
  2. 2022

    FreelanceRemote · Full-stack and AI developer · January – June 2022Three US clients, three shipped products.
    • A web scraping toolkit, a CRM dashboard, sentiment analysis on consumer data, an e-commerce platform and a chat-based ticketing system with automated refund approval tied to a payment gateway.
    • Deployed every project on DigitalOcean Droplets.
    Solar Industries IndiaIndia · Software engineering intern · April – December 2022Django microservices and a Kafka data pipeline.
    • Five Django microservices that standardised 80% of manual processes.
    • Added distributed tracing with Jaeger.
    • Designed a partitioned Kafka pipeline with Redis caching and Cassandra storage.
  3. 2023

    DRDODefence Research & Development Organisation, India · Software engineering intern, R&D · January – June 2023Real-time LiDAR processing and geospatial caching.
    • Built a multithreaded architecture for real-time LiDAR processing.
    • Added Redis geospatial caching over PostgreSQL/PostGIS for GPS queries.
    • Developed a streaming ETL pipeline.
    Manipal University JaipurJaipur, India · B.Tech, computer science and engineeringB.Tech in computer science.
  4. 2024

    Mobility IntelligenceNew York · Full-stack development intern · June – December 2024A real-time pricing engine on FastAPI, Celery and Redis.
    • Built a real-time price prediction system with regression and Kalman filtering.
    • Designed a FastAPI backend with Celery and Redis.
    • Scheduled Airflow DAGs moving records from PostgreSQL into analytics stores.
    • Set up Prometheus and Grafana with SLIs and alerting.
    • Deployed microservices on AWS with Kubernetes and Helm.
    AI2Web3 NYCNew York · Bootcamp finalistTop project with GrantGenie, invited to venture incubation.
  5. 2025

    New York UniversityNew York · M.S. Computer Science · Merit scholarship · GPA 3.7Teaching assistant for Operating Systems and Algorithms.
    Sentrion AINew York · Founding software engineer · May 2025 – April 2026First technical hire. See “Before”, above.
  6. 2026

    KeyPedia NowNew York · Software engineer · April 2026 – nowEngineer #2. See “Now”, above.

Side projects, each started by one question.

Projects

Six questions I built answers to.

  • What’s actually under Pinecone?

    VectorFlow

    A hierarchical vector database from scratch: 12K ops a second, and LinearScan, KD-tree and LSH searching 10M vectors in 18ms.

    Python · FastAPI · AsyncIO · Cohere · Kubernetes · Helm

    View code
  • DocFlow compliance report flagging an error in a document and citing the regulation it breaks DocFlow knowledge graph of entities extracted from regulations

    Where does retrieval break on real compliance PDFs?

    DocFlow

    GraphRAG built from scratch, with hybrid retrieval over vectors, a graph and metadata. 90% compliance accuracy.

    Next.js · FastAPI · Neo4j · FAISS · Anthropic API

    View code
  • Architecture diagram of the fitness platform on AWS: Cognito, Beanstalk, API Gateway, Lambda, SageMaker, SQS, SNS, RDS, DynamoDB and S3

    Can raw fitness data turn into personal advice?

    Fitness Analytics

    A health platform on AWS that syncs Google Fit data and serves personal exercise recommendations from a SageMaker model.

    Django · React · Lambda · SageMaker · DynamoDB · SQS

    View code
  • What does it take to keep an app alive on Kubernetes?

    KubeControl

    A Flask and MongoDB app on Kubernetes with rolling updates, replication and health probes, watched by Prometheus with alerts to Slack, on Minikube and AWS EKS.

    Docker · Kubernetes · Prometheus · AWS EKS

    View code
  • How do two people draw on one board without conflicts?

    Whiteboard

    A real-time collaborative whiteboard on Spring Boot. Operational transformation resolves 98% of conflicts, and binary compression keeps sync under 150ms.

    Java · Spring Boot · WebSockets · PostgreSQL

    View code
  • How fast can a disk read really go?

    Disk I/O tuning

    A C++ study in faster disk reads: multithreading, block sizes up to 65,536 bytes and tuned read and lseek calls, for more than five times the single-threaded throughput.

    C++ · Linux · Shell

    View code

And eight more

Lately

I'm based in New York, on Eastern Time.

Latest code on GitHub ↗

Latest updates

  1. Plain-English search went live

    An eval-gated parser took plain-English search from 62% to 88% on our benchmark. How

  2. Demoed our MCP server to a Fortune Global 500 pharma

    They rated it deeper than their in-house agent.

  3. Joined KeyPedia as engineer #2

    Regulatory intelligence for pharma. I own the backend, data pipelines, LLM extraction and search.

  4. M.S. in Computer Science, NYU

    Graduated from New York University, after teaching assistant roles in Operating Systems and Algorithms.

  5. First technical hire at Sentrion AI

    An empty repo, then the whole platform. Before

Show earlier3
  1. Built my own vector database

    I wanted to know what’s under Pinecone, so I wrote a hierarchical vector database with custom indexing and search. VectorFlow

  2. Graphs on top of vectors

    Built an agentic SaaS that uses a knowledge graph over vector databases to audit documents. DocFlow

  3. Top project at AI2Web3 NYC

    Our AI agent matching Web3 builders with grants was invited to venture incubation. GrantGenie

Let’s talk about AI or systems.

Résumé, code and phone are below.