DoccyAI is a cross-platform mobile application that acts as a preliminary health assessment companion. Users describe their symptoms through a conversational interface, and DoccyAI uses a trained ML model to suggest possible conditions โ all without a single phone call to a clinic.
โ ๏ธ Disclaimer: DoccyAI is designed for preliminary, informational purposes only. It is not a substitute for professional medical advice, diagnosis, or treatment. Always consult a qualified healthcare provider.
The project bridges mobile-first UX (Flutter) with a Python ML backend (FastAPI + scikit-learn), packaged in Docker and deployed on HuggingFace Spaces.
- ๐ Symptom-based Disease Prediction โ Logistic Regression model trained on curated symptomโdisease datasets
- ๐ฑ Cross-platform Mobile App โ Flutter frontend supporting Android & iOS from a single codebase
- โก REST API Backend โ FastAPI backend with clean, auto-documented endpoints (
/docs) - ๐ณ Fully Containerised โ Docker setup for consistent local and production environments
- ๐ Cloud Deployed โ Live inference API hosted on HuggingFace Spaces
- ๐ CORS-Configured โ Secure cross-origin handling between the Flutter app and API
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Flutter App (Dart) โ
โ Cross-platform Mobile UI (Android / iOS) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP REST (JSON)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FastAPI Backend (Python) โ
โ /predict โ Logistic Regression (.pkl model) โ
โ Auto-docs at /docs | CORS enabled โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโ
โผ โผ
๐ณ Docker Container ๐ค HuggingFace Spaces
(Local Dev / Prod) (Live Deployment)
| Property | Details |
|---|---|
| Algorithm | Logistic Regression (scikit-learn) |
| Input | Binary symptom vector |
| Output | Predicted disease label + confidence |
| Serialisation | .pkl (Git LFS tracked) |
| Library Version | scikit-learn == 1.5.2 (pinned) |
Why Logistic Regression? It's interpretable, fast at inference, and performs surprisingly well on structured symptom-disease datasets โ a conscious choice of a model that a doctor could actually reason about, rather than a black-box neural net.
- Flutter SDK โฅ 3.x
- Python 3.9+
- Docker (optional, for containerised setup)
- Git LFS (for
.pklmodel files)
git lfs install
git clone https://github.com/AsMetOP/DoccyAI.git
cd DoccyAIcd backend
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Start the development server
uvicorn main:app --reload --host 0.0.0.0 --port 8000API will be live at http://localhost:8000
Interactive docs at http://localhost:8000/docs
cd backend
docker build -t doccyai-backend .
docker run -p 8000:8000 doccyai-backendcd frontend
# Fetch dependencies
flutter pub get
# Run on a connected device or emulator
flutter runUpdate the API base URL in the app config to point to your local backend or the live HuggingFace endpoint.
Accepts a list of symptoms and returns the predicted condition.
Request Body:
{
"symptoms": ["headache", "fever", "fatigue"]
}Response:
{
"prediction": "Influenza",
"confidence": 0.87
}DoccyAI/
โโโ backend/
โ โโโ main.py # FastAPI app & CORS config
โ โโโ model/
โ โ โโโ model.pkl # Trained LR model (Git LFS)
โ โโโ requirements.txt # Pinned dependencies
โ โโโ Dockerfile
โ
โโโ frontend/
โ โโโ lib/
โ โ โโโ main.dart # App entry point
โ โ โโโ screens/ # UI screens
โ โ โโโ services/ # API service layer
โ โโโ pubspec.yaml
โ
โโโ README.md
| Contributor | Role |
|---|---|
| Asmet Sahoo | ML Engineer โ Model, FastAPI Backend, Docker, HuggingFace Deployment |
| Astha Upadhyay | Database |
| Krish Agrawal | Testing |
| Sneha Das | Frontend Development |
| Layer | Technology |
|---|---|
| Mobile Frontend | Flutter / Dart |
| ML Backend | FastAPI + scikit-learn |
| ML Model | Logistic Regression |
| Containerisation | Docker |
| Cloud Deployment | HuggingFace Spaces |
| Version Control | Git + Git LFS |
- Add multimodal input (image + symptom text)
- Expand disease coverage with a richer dataset
- Add explainability layer (SHAP values per prediction)
- Integrate appointment booking / doctor referral
- Offline inference with on-device model (TFLite / ONNX)
This project is licensed under the MIT License.