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.