Project
VeinReach
Blood donation & emergency request platform

Overview
A full-stack platform connecting donors, recipients, hospitals and blood banks, with a geospatial matching engine that ranks donors by blood-type compatibility, distance and reputation.
Architecture & system design
React + Vite + Tailwind SPA over a Node.js/Express API structured as routes → controllers → services → repositories on MongoDB. Socket.IO powers a live donor radar; emergency requests self-escalate their search radius (20km → 50km → 100km) when unanswered. Docker Compose brings up MongoDB, Redis, the API and the SPA in one command.
Key deliverables
- Geospatial donor matching ranked by blood-type compatibility, distance and reputation
- Self-escalating emergency requests that auto-widen from 20km to 50km to 100km with a live Socket.IO donor radar
- JWT auth, CSRF protection, rate limiting and audit logging across admin, hospital and blood-bank portals
- Document verification and abuse-moderation workflows for institutional accounts
- Privacy-first in-app chat with delivery/read receipts and a contact-reveal gate until a request is accepted
- Mobile OTP verification and auto-issued donation certificates
Engineering decisions
Architected and built the whole platform. I kept phone numbers and locations hidden behind a contact-reveal gate so donors are never exposed before they accept, and made emergency requests escalate on their own so a critical request never sits unanswered because someone forgot to widen the search.