A minimal prototype built as a GSoC 2026 code challenge for the Alaska / KathiraveluLab BHV project.
This demonstrates the core BHV architecture: image upload, SQLite metadata storage, role-based access (patient / admin), and moderation.
POST /upload— patient or social worker uploads an image + narrativeGET /images/<user_id>— patient retrieves their own submissionsGET /admin/images— admin sees all submissions across usersDELETE /admin/images/<id>— admin moderates / removes a submission- SQLite for fast local metadata indexing
- File size enforcement (5MB limit)
- UUID-based image storage (no filename collisions)
pip install flask
python app.pyThen open http://localhost:5000
Upload an image:
curl -X POST http://localhost:5000/upload \
-F "image=@path/to/photo.jpg" \
-F "narrative=Feeling better today. Went for a walk." \
-F "user_id=user-001"View patient submissions:
curl http://localhost:5000/images/user-001Admin view (all submissions):
curl http://localhost:5000/admin/images- Python 3.10+
- Flask (minimal web framework)
- SQLite (lightweight, no separate service needed)
- Standard library only beyond Flask
This intentionally mirrors the BHV design goal: single-command install, no complex dependencies, production-ready structure.
Shekhar Jadhav — GSoC 2026 Applicant
GitHub: https://github.com/shekhar871
Proposal: Alaska / KathiraveluLab — BHV (Behavioral Health Vault)