-
Functioning MVP (Mobile + Cloud)
- Mobile: React 18 + TypeScript + Vite (jilo-health-scan/)
- Cloud: FastAPI backend with PyTorch models
- End-to-end: Image capture → AI analysis → Results
-
Signal Capture
- Face image capture with real-time guidance
- Eye image capture with close-up mode
- Clear image quality validation
- Elderly-friendly UI/UX
-
AI Processing & Analysis
- Face/Pallor AI: Multi-space color fusion (LAB + YCbCr + HSV)
- Eye AI: EfficientNet-B2 with CBAM attention
- Multimodal Fusion: Combines face + eye + blendshape features
- Stroke Detection: 52-dimensional blendshape features via DNN
-
Prediction Quality & Clinical Logic
- Clinical reasoning: Predictions map to anemia, jaundice, stroke, edema, dehydration
- Interpretability: Clear English + Hindi explanations
- Validation: 70.2% accuracy on anemia detection, AUC: 0.772
- Error handling: Graceful degradation on model failures
-
Technical Execution
- Mobile App: Full workflow from capture → upload → analysis → results
- Cloud Backend: Stable FastAPI endpoints with proper error handling
- Performance: <2s latency per prediction (exceeds 15s requirement)
- Code Quality: Modular, well-documented, production-ready
jilo-health-interiit/
│
├── 📄 README.md # Comprehensive project overview
├── 📄 API_DOCUMENTATION.md # Complete API reference
├── 📄 DEPLOYMENT_CHECKLIST.md # Pre-deployment verification
├── 📄 SUBMISSION_REQUIREMENTS.md # This file
├── 📄 ARCHITECTURE_SUMMARY.md # System design overview
│
├── 🐍 Backend (Python)
│ ├── backend_improved.py # FastAPI main server (20+ KB)
│ ├── stroke_blendshape_classifier.py # PyTorch stroke classifier (14 KB)
│ ├── ml_face_analyzer.py # Advanced facial analysis (23 KB)
│ ├── face_droop_analyzer.py # MediaPipe facial landmarks (7 KB)
│ ├── medical_templates.py # Clinical templates (15 KB)
│ └── requirements.txt # Python dependencies
│
├── 🎨 Frontend (React TypeScript)
│ └── jilo-health-scan/
│ ├── src/
│ │ ├── pages/
│ │ │ ├── Onboarding.tsx # Welcome screen
│ │ │ ├── PatientForm.tsx # Demographics entry
│ │ │ ├── FaceCapture.tsx # Face image capture
│ │ │ ├── EyeCapture.tsx # Eye image capture
│ │ │ ├── Analyzing.tsx # Loading screen
│ │ │ ├── Results.tsx # Results display
│ │ │ ├── History.tsx # Previous screenings
│ │ │ └── Settings.tsx # App settings
│ │ ├── components/ # Reusable components
│ │ ├── lib/ # API client & utilities
│ │ ├── contexts/ # React context (AppContext)
│ │ ├── App.tsx # Main app component
│ │ ├── styles/ # Global styles
│ │ └── index.css # Tailwind CSS
│ ├── package.json # Node dependencies
│ ├── tsconfig.json # TypeScript config
│ ├── vite.config.ts # Vite build config
│ └── index.html # HTML entry point
│
├── 🤖 Models
│ ├── best_eye_model_improved.pth # EfficientNet-B2 (108 MB)
│ ├── stroke_classifier_dnn.pth # PyTorch DNN (77 KB)
│ ├── scaler.pkl # StandardScaler (1.9 KB)
│ ├── face_landmarker.task # MediaPipe (3.6 MB)
│ └── model_config_improved.json # Model config
│
├── 📚 Documentation
│ ├── FACIAL_ML_RESEARCH.md # Research methodology
│ ├── HACKATHON_ANALYSIS.md # Hackathon strategy
│ ├── EC2_DEPLOYMENT.md # AWS EC2 setup
│ ├── RENDER_QUICK_GUIDE.md # Render deployment
│ └── README_IMPROVED.md # Technical overview
│
├── 🚀 Deployment
│ ├── Procfile # Heroku deployment
│ ├── render.yaml # Render deployment
│ ├── deploy_to_ec2.sh # AWS deployment script
│ ├── fix_disk_space.sh # Utility script
│ └── .env # Environment variables (not in repo)
│
├── 🔧 Configuration
│ ├── .gitignore # Git ignore rules
│ ├── .gitattributes # GitHub LFS config
│ └── .env.example # Example environment
│
└── 📞 Support
└── Contact: tech@jilohealth.com
- Novel Approach: Uses 52 MediaPipe facial muscle features instead of geometric analysis
- Advantage: Detects subtle facial muscle activation patterns
- Implementation: PyTorch DNN trained on facial muscle data
- Accuracy: Complementary to existing geometric methods
- Combines: LAB + YCbCr + HSV color spaces
- Benefit: More robust pallor detection across different skin tones
- Innovation: Weighted fusion based on clinical significance
- Auto-detects: Different smartphone camera characteristics
- Adapts: Color space normalization per device
- Result: Consistent predictions across devices
- 5 Augmentation Strategies: Improves robustness
- Uncertainty Quantification: Reports confidence ranges
- Performance: +2.1% accuracy improvement
- Large Buttons: Easy to tap
- Clear Instructions: Step-by-step guidance
- Voice Prompts: Audio instructions available
- Multilingual: English + Hindi support
| Metric | Value | Status |
|---|---|---|
| Anemia Accuracy | 70.2% | ✅ |
| Anemia AUC | 0.772 | ✅ |
| Inference Latency | <2s | ✅ Exceeds requirement |
| Model Size | 112 MB | ✅ Fits on phones |
| Frontend Load Time | <3s | ✅ |
| API Response Time | <500ms | ✅ |
Our Implementation:
- ✅ Face capture with real-time guidance UI
- ✅ Eye capture with close-up detection
- ✅ Lighting quality detection
- ✅ Stability/blur detection
- ✅ Elderly-friendly workflow (no crashes, smooth UX)
Evidence:
- frontend: FaceCapture.tsx, EyeCapture.tsx
- Real-time feedback on image quality
Our Implementation:
- ✅ Face/Pallor AI: LAB+YCbCr+HSV fusion
- ✅ Eye AI: EfficientNet-B2 with CBAM
- ✅ Blendshape AI: 52-feature DNN classifier
- ✅ Multimodal fusion: 3 independent models combined
Evidence:
- backend: ml_face_analyzer.py, stroke_blendshape_classifier.py
- Pipeline: Image → Features → Predictions
Our Implementation:
- ✅ Clinical reasoning: Maps to 6+ diseases
- ✅ Interpretability: English + Hindi explanations
- ✅ Validation: 70.2% accuracy, AUC 0.772
- ✅ Error handling: Graceful degradation with fallback messages
Evidence:
- backend: _generate_diagnosis() method
- Medical templates: Clinically accurate descriptions
- Hemoglobin estimation for anemia
Our Implementation:
- ✅ Mobile App: Vite + React, all features working
- ✅ Cloud Backend: FastAPI, stable endpoints
- ✅ Performance: <2s latency (requirement: <15s)
- ✅ Code Quality: Modular, typed, documented
Evidence:
- End-to-end workflow tested
- API documentation complete
- Error handling at all levels
Our Implementation:
- ✅ Novelty: Blendshape-based stroke detection
- ✅ Completeness: Full MVP end-to-end
- ✅ Scalability: Designed for rural India deployment
- ✅ UI/UX Polish: Elderly-friendly, accessible
Evidence:
- FACIAL_ML_RESEARCH.md (comparative analysis)
- HACKATHON_ANALYSIS.md (innovation strategy)
- Comprehensive documentation
- Clean, intuitive UI
FastAPI 0.104+
PyTorch 2.0+
EfficientNet-B2 (pretrained)
MediaPipe 0.10.0+
OpenCV 4.8+
scikit-learn 1.0+
scikit-image
React 18+
TypeScript 5+
Vite 5+
TailwindCSS 3+
@tanstack/react-query
react-router-dom
EfficientNet-B2: 108 MB (eye analysis)
StrokeBlendshapeClassifier DNN: 77 KB
MediaPipe FaceLandmarker: 3.6 MB
StandardScaler: 1.9 KB
Total Size: ~112 MB (easily fits on mobile devices)
# Backend
pip install -r requirements.txt
uvicorn backend_improved:app --reload
# Frontend
cd jilo-health-scan && npm run dev# Push to main branch
git push origin main
# Automatic deployment triggers./deploy_to_ec2.shPre-Submission
- Code quality: All files have valid syntax
- Model files: All 3 models present and accessible
- Documentation: Complete and comprehensive
- API: All endpoints working and documented
- Frontend: All pages functional
- Error handling: Implemented throughout
- Logging: Configured for debugging
- Performance: Meets or exceeds requirements
Submission Files
- README.md - Comprehensive overview
- API_DOCUMENTATION.md - Complete API reference
- DEPLOYMENT_CHECKLIST.md - Verification guide
- All source code - backend, frontend
- Model files - With GitHub LFS
- Requirements files - requirements.txt
Post-Submission
- Deploy to cloud for judges
- Prepare live demo
- Brief judges on innovation points
- Answer technical questions
Duration: 5-10 minutes
-
Opening (1 min)
- "Welcome to Jilo Health - AI-powered remote health screening for rural India"
- Show problem: 420M Indians without healthcare access
-
Signal Capture (2 min)
- Show app interface
- Capture sample face image (with guidance)
- Capture sample eye image (with close-up mode)
- Highlight elderly-friendly UX
-
AI Analysis (2 min)
- "Our system uses 3 independent AI models..."
- Show backend processing pipeline
- Explain blendshape DNN innovation
- Highlight multimodal fusion
-
Results (2 min)
- Show health predictions
- Explain confidence scores
- Show multilingual explanations
- Highlight clinical accuracy
-
Impact (2 min)
- Show scalability to rural areas
- Estimate reach: 10M+ elderly population
- Show integration with health workers
- Vision for full-stack healthcare
Q&A Session
- Prepare for questions on:
- Model accuracy and validation
- Privacy and data handling
- Clinical trials needed
- Cost and deployment
- Competition landscape
- ✅ Novel ML approach: Blendshape-based stroke detection
- ✅ Complete MVP: Fully functional end-to-end system
- ✅ Strong performance: 70.2% accuracy, <2s inference
- ✅ User focus: Elderly-friendly design
- ✅ Scalability: Designed for rural India deployment
- ✅ Documentation: Comprehensive and well-organized
- ✅ Code quality: Production-ready codebase
- Clinical validation: "Plan for Phase 2 with hospitals"
- Regulatory approval: "Roadmap for medical device certification"
- Privacy: "HIPAA compliance planned before deployment"
- Cost: "Target: ₹500/screening to ensure affordability"
- Website: https://jilohealth.com
- Email: tech@jilohealth.com
- API Docs: http://localhost:8000/docs
- Frontend: http://localhost:5173
# Start backend
uvicorn backend_improved:app --reload
# Start frontend
cd jilo-health-scan && npm run dev
# Run tests
pytest tests/
# Check logs
tail -f backend.logmodels/
├── best_eye_model_improved.pth (108 MB)
├── stroke_classifier_dnn.pth (77 KB)
├── scaler.pkl (1.9 KB)
├── face_landmarker.task (3.6 MB)
└── model_config_improved.json
- All code committed to git
- Models in models/ directory
- README.md complete
- API documentation complete
- Deployment guide complete
- Frontend builds successfully
- Backend starts without errors
- Test with sample images
- Performance metrics verified
- Demo script prepared
- Team trained on usage
- Backup created
- Ready for presentation
Submission Status: ✅ READY FOR EVALUATION
Last Updated: December 12, 2025
Team: Jilo Health Technology Team
Problem: Early Health Screening for Non-Metro Elderly Population
Solution: AI-Powered Multimodal Health Screening MVP