SmartSelect Health is a comprehensive medical diagnostic platform powered by Artificial Intelligence. It features a dual-mode AI engine (Cloud/Local LLMs + RAG) for symptom analysis and a full-featured web interface for Patients, Doctors, and Administrators.
You can explore the application immediately without setting up a local environment. The project is deployed using a hybrid cloud architecture:
- π₯οΈ Frontend Application: Launch on Vercel
- π§ AI Backend API: View on Hugging Face Spaces
Note: The live environment is fully functional. You can log in as a patient to test the AI diagnostic interview.
You can use these pre-configured accounts to explore the platform roles instantly.
β οΈ Public Demo Notice: > This is a shared public environment.
- Data resets automatically every 6 hours.
- Do not enter real personal data or sensitive medical information.
- Please be respectful to other visitors testing the app.
| Role | Username (Email) | Password | Features to Check |
|---|---|---|---|
| Patient | patient@test.com |
patient123 |
AI Interview, Booking, History |
| Doctor | doctor@test.com |
doctor123 |
Availability Manager, Reports Review |
| Admin | admin@test.com |
admin123 |
Doctor Management, Statistics |
Patients can describe symptoms in natural language, upload images, and receive a preliminary diagnosis report generated by our Hybrid RAG Engine.
Doctors have a dedicated command center to manage availability, review AI-generated reports, and conduct consultations.
Admins oversee the entire clinic operations, managing medical staff and viewing platform usage statistics.
This is the recommended way to run the project for development. The entire stack (Database, Backend, Frontend) is containerized and orchestrated via Docker Compose.
Before you begin, ensure you have the following installed:
- Docker Desktop (Ensure the Docker daemon is running)
- Make (Standard on Linux/macOS; for Windows use WSL2 or Git Bash)
If you are on Windows, we strongly recommend using WSL2 (Windows Subsystem for Linux) instead of PowerShell or Command Prompt. This allows you to run the Makefile natively without compatibility issues.
- Install Ubuntu: Open the Microsoft Store and install "Ubuntu".
- Open Terminal: Launch the Ubuntu terminal.
- Navigate to Project: Windows files are mounted under
/mnt/c/.
# Example: Accessing your project on the C drive
cd /mnt/c/Users/YourName/Documents/SmartSelect-Health
To ensure the application functions correctly, you must apply the database schema to your Supabase project.
- Locate the Schema File: Find the
schema.sqlfile in the root directory offrontent/. - Open Supabase Dashboard: Navigate to your project in Supabase.
- Go to SQL Editor: Click on the SQL Editor icon in the left sidebar.
- Run Query:
- Create a generic "New Query".
- Copy the entire content of
schema.sql. - Paste it into the editor and click Run.
This process will create the necessary tables (profiles, appointments, reports, doctors, availability), enable Row Level Security (RLS) policies, and set up the required triggers for user registration.
The application requires specific API keys to function (Database connection and AI Provider).
- Initialize the configuration file:
Run the following command to create your
.envfile from the template.
make setup
- Fill in the secrets:
Open the newly created
.envfile in the root directory and populate the variables:
- Backend / AI:
To run the backend, you need a Groq API Key.
- Go to the Groq Cloud Console.
- Log in and click "Create API Key".
- Copy the generated key string.
-
GROQ_API_KEY: Required for the primary high-speed LLM. Get it from Groq Console. -
Frontend / Database:
You need to retrieve these keys from your Supabase Project Settings. How to find your keys:
- Go to your Supabase Dashboard.
- Click on Settings -> API Keys.
- Project URL: Copy the URL from the "Project URL" section.
- Anon Key: Copy the key labeled
anonpublic. - Service Role Key: Copy the key labeled
service_rolesecret.
NEXT_PUBLIC_SUPABASE_URL: Your Supabase Project URL.NEXT_PUBLIC_SUPABASE_ANON_KEY: Your Supabase Public API Key.SUPABASE_SERVICE_ROLE_KEY: Your Supabase Secret Key (required for server-side operations).
We use a Makefile to simplify Docker commands. To build the images and start the services:
make start
What happens next?
- Build: Docker builds the Python (FastAPI) and Node.js (Next.js) images.
- Orchestration:
docker-composespins up the containers in detached mode. - Networking: Internal networking is established between the frontend and backend.
Once the terminal says β
System ready!, access the services at:
- Frontend (Web App): http://localhost:3000
- Backend (API Docs): http://localhost:8000/docs
Use these commands from the root directory to manage the lifecycle of the application.
| Command | Description |
|---|---|
make help |
Show all available commands. |
make setup |
Creates the .env file if it doesn't exist. |
make start |
Builds images (if changed) and starts the containers in the background. |
make stop |
Stops and removes the running containers. |
make restart |
Full restart cycle (stop followed by start). |
make logs |
Tail the logs of all containers (Press Ctrl+C to exit). |
make clean |
Destructive: Stops containers and removes images/volumes. Use for a fresh start. |
This is a Monorepo containing both the AI Backend and the Web Frontend.
.
βββ backend/ # Python/FastAPI application
β βββ app/ # Core logic, LLM services, RAG implementation
β βββ Dockerfile # Standard Docker build
β βββ Dockerfile.hf # Optimized build for Hugging Face Spaces
βββ frontend/ # Next.js 16 application
β βββ src/app/ # App Router (Dashboards, Auth, Chat)
β βββ components/ # UI Components (Doctor/Patient panels)
βββ docker-compose.yml # Orchestration of Backend + Frontend
βββ Makefile # Command shortcuts
βββ .env.example # Template for environment variables
For detailed documentation on specific components, please refer to:
- Backend Documentation (Architecture, RAG, API Endpoints)
- Frontend Documentation (Role-based logic, Supabase setup, UI Stack)
SmartSelect Health was architected and built by:
- Backend: Initial project skeleton, Authentication logic.
- Frontend: Authentication flows, Admin Dashboard implementation, Logo design.
- Database: Schema and integration for Auth and Admin modules.
- Technical Lead / DevOps: Dockerization of the stack, CI/CD pipelines, Hugging Face & Vercel integrations.
- Backend: Core AI Logic (LLM/RAG), Multi-modal integration, new feature development.
- Frontend: Doctor & Patient Dashboards, Chat interfaces.
- Database: Schema and logic for Doctor/Patient interactions.



