ClinicalTriage AI

An end-to-end AI clinical triage platform that analyzes patient vitals and symptoms using Large Language Models, generates structured triage assessments, and produces downloadable PDF reports deployed to AWS with automated CI/CD.

What it does

  • Patients (or clinicians/students, for demo purposes) submit vitals and symptoms through a web form.
  • An LLM-driven backend reasons through the input and returns a structured triage assessment.
  • Users can request a formatted PDF report of the assessment, generated asynchronously so the request doesn't block on report rendering.
  • All triage and report endpoints are protected behind JWT authentication.

Architecture

The frontend (Next.js) talks to a FastAPI backend over REST. Report generation is offloaded to a Celery worker via a Redis message broker, so the API can respond immediately with a task ID rather than waiting on PDF rendering. Task status and history are observable in real time through a Flower dashboard.

  • Frontend: Next.js, TypeScript, Tailwind CSS
  • Backend: FastAPI, Pydantic, JWT auth (python-jose, passlib)
  • Async processing: Celery workers, Redis broker/result backend, Flower monitoring
  • Reporting: ReportLab (PDF generation)
  • Infrastructure: Docker Compose, AWS EC2, GitHub Actions CI/CD

Deployment

The full stack runs on a single AWS EC2 instance via Docker Compose. Every push to main triggers a GitHub Actions workflow that SSHes into the instance, pulls the latest code, and rebuilds the containers no manual deployment steps required.

Try it

The project is live at triage.mustafalsalem.com — see the buttons above to open the demo or browse the source.