CliniQ is an all‑in‑one clinic management system designed to streamline patient intake, queue prioritization, and wait‑time estimation. Built during McHacks 12, this project combines a web frontend, backend APIs, and data‑driven logic to improve clinic operations and patient experience.
Clinics often struggle with long waiting times, inefficient triage, and poor communication with patients. CliniQ addresses these challenges by:
- Allowing patients to submit symptoms digitally
- Automatically prioritizing patients based on severity and wait time
- Providing clinics with a real‑time queue dashboard
- Estimating wait times and notifying patients when they are next
- Symptom‑based patient triage
- Dynamic queue prioritization
- Estimated wait‑time calculation
- Clinic dashboard for admitting and dismissing patients
- Email notifications to patients
- Full‑stack architecture (frontend, backend, database)
Frontend
- React
- HTML / CSS / JavaScript
Backend
- Python
- Flask
Database
- PostgreSQL
APIs & Services
- RESTful API
- OpenAI API (for prioritization logic)
mchacks/
├── backend/ # Flask backend & API logic
├── frontend/ # React frontend
├── requirements.txt
├── package.json
├── README.md
└── ...
git clone https://github.com/4yushP4tel/mchacks.git
cd mchacksCreate and activate a virtual environment:
macOS / Linux
python3 -m venv .venv
source .venv/bin/activateWindows (PowerShell)
py -m venv .venv
.venv\Scripts\Activate.ps1Install dependencies:
pip install --upgrade pip
pip install -r requirements.txtCreate a PostgreSQL database:
createdb cliniq_dbSet your database connection string (example):
DATABASE_URL=postgresql://username:password@localhost:5432/cliniq_db
Apply any schema or migrations provided in the backend directory.
cd frontend
npm install
npm startThe frontend will run at:
👉 http://localhost:3000
- Start the backend server:
cd backend
python app.py- Start the frontend (
npm start) - Open your browser and interact with the system as a patient or clinic admin
| Method | Endpoint | Description |
|---|---|---|
| POST | /triage |
Submit symptoms & get priority |
| GET | /patients |
Retrieve current queue |
| POST | /admit |
Admit next patient |
| POST | /dismiss |
Remove patient from queue |
- Patient submits symptoms through the frontend
- Backend evaluates severity and priority
- Patient is placed into a ranked queue
- Clinic staff manage admissions via dashboard
- Notifications are sent when patients are next
Built during McHacks 12 and submitted on Devpost.
Team Members
- Ayush Patel
- David Preda
- Jimmy Zhang
- Isaiah Abella
Devpost submission:
https://devpost.com/software/cliniq-c702a8