Inspiration

Rare disease patients struggle in the gaps between clinical visits — symptoms fluctuate daily but that lived experience rarely reaches clinicians in a useful form. Saarthi was built to close that gap, without diagnosing or treating.

What it does

Saarthi is a two-sided ENS monitoring platform — one interface for patients, one for clinicians. Patients log 7 daily symptoms through a guided check-in and chat with Dr. Aria, an AI companion that provides personalised clinical guidance and tracks their week at a glance. Doctors get a full clinical dashboard — patient state timelines, per-symptom trend charts, an ENS body map for symptom localisation, functional impact scores, response consistency tracking, and AI-generated clinical summaries with a printable report. Under the hood, a Random Forest classifier combined with a Welford personal baseline engine converts daily symptom inputs into Green / Yellow / Red signals — flagging deviations relative to that patient's normal, not a population average.

How we built it

FastAPI backend, PostgreSQL, scikit-learn (Random Forest), Retell AI for voice intake, Flask + a React-style frontend for the dual patient/doctor UI, and Groq (Llama 3.3) powering the Dr. Aria chat and Clinical AI physician assistant.

Challenges we ran into

ENS is rare — real labeled patient data simply doesn't exist at scale. We trained on synthetic data modeled around known ENS symptom profiles, which means the global model is a starting point, not ground truth. The personal model layer exists precisely to compensate: as a patient logs readings, the system learns their normal and reduces dependence on synthetic priors.

Accomplishments that we're proud of

A full two-sided product — patients check in, doctors see everything Voice-to-signal pipeline that works end-to-end via Retell AI Dr. Aria patient companion + physician-only Clinical AI on the same platform Hybrid ML + Z-score override that flags abnormal readings even when the model is uncertain Printable clinical reports generated directly from patient history

What's next for Saarthi

Validate with real ENS patients and clinicians, replace synthetic training data with real-world signal as it accumulates, expand to other rare conditions, and add multilingual support.

Built With

  • accessed-via-sqlalchemy-orm-(with-sessionlocal
  • cross-validation)
  • declarativebase)-ml-/-data:-scikit-learn-(randomforestclassifier
  • fastapi
  • flask
  • flask-(frontend/calling-agent-ui)-database:-postgresql
  • joblib
  • joblib-(model-serialization)-validation-/-config:-pydantic-v2
  • languages:-python-frameworks:-fastapi-(backend-api)
  • mcp
  • next.js
  • numpy
  • pandas
  • postgresql
  • pydantic
  • pydantic-settings-(for-.env-loading)-apis-/-integrations:-retell-ai-(voice-calling-agent
  • python
  • rag
  • react
  • retell-ai
  • scikit-learn
  • sdk
  • sqlalchemy
  • standardscaler
  • tailwindcss
  • uvicorn
Share this project:

Updates