← Selected work
01
2024 —

ThrivNPS

AI Medical Board Exam Platform

Full-stack engineer · AI systems

A production AI platform for PMHNP / FNP students. RAG pipeline over 1536-dim vector embeddings, SSE-streamed chat, and an AI Case Simulator where the model plays the patient.

65+
MongoDB models in production
112+
API routes shipped
<300ms
median first-token latency
chat length via memory tiers
Stack
React 19Node.jsMongoDB + Atlas Vector SearchOpenAI GPT-4oSSE StreamingMuxStripeTanStack Query

The problem

Med-board students bounce between static question banks, YouTube lectures, and PDFs. There's no adaptive layer that watches what you struggle with and adjusts what comes next. We wanted an AI tutor that behaves less like ChatGPT-with-a-prompt and more like a system: memory that persists, content that's retrieved not hallucinated, and a case simulator that stays in character for 40+ turns.

Architecture

Node/Express talks to MongoDB with Atlas Vector Search for retrieval, OpenAI GPT-4o for generation, and SSE for token-by-token streaming to the React 19 client. A generic chat orchestrator owns tools, tool-calls, memory, and streaming, so shipping a new AI product (case sim, tutor, coach) is a config file — not a fork.

Memory that survives

Long chats blow context windows. We compress in tiers: recent turns verbatim, older turns rolled into a running summary, and long-term facts about the user pinned as retrieval targets. Result: coherent 40-turn patient simulations without silently forgetting the presenting complaint.

Impact

The platform runs live traffic with Stripe billing, Mux video, and Zoom-based coaching. Course-completion loops that used to require manual scheduling now run themselves through the AI orchestrator.

Highlights
  • 3-tier memory system (short-term / summary buffer / long-term behavior) for infinite-length chat under token limits
  • Generic chat orchestrator — new AI products via config, no core changes
  • Study Plan generator with 3 adaptive modes + XP leaderboards
  • Video pipeline: Mux UpChunk, HLS, auto-transcripts feeding vector search