Fingerprint pattern classification with statistical blood group correlation — built for educational and research purposes.
🔗 Website: https://blood-print-id.vercel.app
🎥 Demo Video: Watch on YouTube
BloodPrint ID is a full-stack AI web application that analyzes fingerprint images to classify their pattern type (Loop, Whorl, or Arch) and provides statistical blood group likelihood based on published dermatoglyphic research.
⚠️ Not a medical tool. All blood group correlations are statistical estimates from published research — not a clinical diagnosis.
- 🔍 Fingerprint Pattern Classification — Loop, Whorl, Arch using EfficientNetB0
- 🩸 Blood Group Statistical Correlation — based on published dermatoglyphic studies
- 📊 Image Quality Metrics — clarity score, ridge density, edge ratio
- 📄 PDF Report Generation — downloadable professional report per analysis
- 🗂️ Analysis History — view and manage past predictions
- 🔐 JWT Authentication — secure user accounts
- 🌙 Dark Mode UI — sleek React frontend
| Layer | Technology |
|---|---|
| Frontend | React, Vite, Axios |
| Backend | Flask, Python 3.11 |
| ML Model | EfficientNetB0 → TFLite |
| Database | PostgreSQL (Supabase) |
| ReportLab | |
| Auth | Flask-JWT-Extended |
| Hosting | Vercel (frontend) · Render (backend) |
BloodPrint-ID/
├── backend/
│ ├── app.py # Flask app factory
│ ├── predictor.py # TFLite inference + image metrics
│ ├── report_generator.py # PDF generation (ReportLab)
│ ├── convert_model.py # H5 → TFLite conversion utility
│ ├── models.py # SQLAlchemy models
│ ├── extensions.py # DB + JWT init
│ ├── routes/
│ │ ├── auth.py # Register / Login
│ │ ├── predict.py # POST /api/predict
│ │ ├── history.py # GET /api/history
│ │ └── report.py # GET /api/report/<id>
│ ├── model.tflite # Optimised TFLite model
│ ├── requirements.txt
│ └── Procfile
└── frontend/
└── src/
├── pages/
│ ├── Predict.jsx # Main analysis page
│ ├── History.jsx # Past analyses
│ ├── Research.jsx # Research references
│ └── Settings.jsx # User settings
├── context/
│ └── AuthContext.jsx
└── utils/
└── api.js # Axios instance
- Python 3.11+
- Node.js 18+
- PostgreSQL database (e.g. Supabase)
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# Create .env file
cp .env.example .env
# Fill in DATABASE_URL, SECRET_KEY, JWT_SECRET
python app.pycd frontend
npm install
# Create .env file
echo "VITE_API_URL=http://localhost:5000/api" > .env
npm run devcd backend
python convert_model.py
# Generates model.tflite from bloodprint_efficientnet.h5| Service | Purpose | Config |
|---|---|---|
| Vercel | Frontend hosting | VITE_API_URL env var |
| Render | Backend hosting | DATABASE_URL, SECRET_KEY, JWT_SECRET env vars |
| Supabase | PostgreSQL database | Connection string in DATABASE_URL |
- Dogra, T.D. et al. (2014). Fingerprint patterns and ABO blood group correlation. Journal of Forensic Medicine and Toxicology.
- Nayak, V.C. et al. (2010). Correlating fingerprint patterns with blood groups. Journal of Forensic and Legal Medicine.
- Igbigbi, P.S. & Thumb, B. (2002). Dermatoglyphic patterns of Ugandan and Tanzanian subjects. West African Journal of Medicine.
- Cummins, H. & Midlo, C. (1961). Finger Prints, Palms and Soles. Dover Publications.
This project is for educational and research purposes only. Blood group predictions are based on statistical correlations from published dermatoglyphic research and do not constitute a medical diagnosis. Always use a certified laboratory blood typing test for actual blood group determination.
If you found this project helpful or interesting, please consider giving it a star ⭐ — it helps others discover the project and motivates further development!
💬 Have feedback or questions? Reach out at jananiviswa05@gmail.com
Janani V
Made with ❤️ for research · Not for clinical use