Our Blood Bridge 2.0 Journey
🌟 What Inspired (and Could Inspire) Me
The spark came from a thalassemia day‑care centre in Kolkata. I saw a line of anxious parents refreshing WhatsApp groups, hoping a compatible donor would answer before their child’s haemoglobin dropped too low. The human inefficiency in that moment felt unacceptable in 2025, when ride‑hailing apps can match you to a driver in 30 seconds.
“Why can’t blood requests move at the speed of a cab booking?”
That question, plus Blood Warriors’ relentless volunteer spirit, pushed me to imagine a real‑time, donor‑patient matching engine. I hope our story nudges more technologists to look at health‑equity gaps and think: “My skills could fix that.”
📚 What I Learned
- Domain first, tech second. Talking to haematologists made it clear that transfusion scheduling is medically constrained; our models had to respect iron‑recovery windows, not just calendar days.
- Government rails are your friend. India’s ABDM and e‑RaktKosh APIs weren’t perfect, but aligning with them unlocked nation‑scale reach.
- Mathematical humility. My initial LSTM beat a baseline by only 6 pp. Switching to a hybrid Prophet + XGBoost ensemble lifted AUC to 0.82 because seasonality (festivals, exam periods) mattered more than deep sequence memory.
- (\text{Privacy} \neq \text{Blocking Innovation}). Implementing HIE‑CM consent artefacts taught me that strong cryptography and granular scopes can enable data sharing, not stifle it.
🏗️ How We Built It
| Day | Milestone | Key Tools |
|---|---|---|
| T‑48 h | Scoped MVP, set up Git repo, mocked e‑RaktKosh endpoints | GitHub Projects, Swagger |
| T‑40 h | Built FastAPI backend + GraphQL layer | Python 3.12, Strawberry GraphQL |
| T‑32 h | Trained Prophet model on 38 k donation logs | Jupyter, PyTorch Forecasting |
| T‑26 h | Implemented WebSocket match engine with Kafka bus | KafkaJS, Redis Streams |
| T‑18 h | React Native PWA + WhatsApp bot skeleton | React Native Web, Twilio API |
| T‑10 h | Integrated Aadhaar‑based consent flow (HIE‑CM) | AWS Cognito, NDHM sandbox |
| T‑4 h | End‑to‑end demo: request → donor accept → ledger write | Postgres‑Citus, QR code module |
| T‑0 h | Polished UX, added success metrics dashboard | Recharts, Grafana panel |
A tiny but joyful victory: seeing the donor’s phone light up in our live demo exactly 1.8 s after a mock patient hit “Need Blood”. 🎉
🧗 Challenges We Faced
| Challenge | How We Tackled It |
|---|---|
| Sparse rural donor histories | Augmented data with seasonal dummy variables; used Laplace smoothing to avoid zero‑probability traps. |
| API quota limits | Implemented exponential back‑off and local caching on e‑RaktKosh calls. |
| Multilingual UI on a deadline | Leveraged Expo Localization and tapped community volunteers for rapid Hindi & Bengali strings. |
| Privacy compliance maze | Wrote an internal spec mapping every data field to consent scopes; ran nightly unit tests that fail the build if an endpoint leaks PII. |
| Sleep deprivation maths 😅 | After 30 h, I mis‑typed the logistic‑regression cost function; unit tests caught it: |
| [\mathcal{L} = -\sum_{i=1}^{n} \bigl(y_i\log \hat{y}_i + (1-y_i)\log(1-\hat{y}_i)\bigr)] — a humbling reminder to trust tests, not caffeine. |
🎯 Takeaways
- Tech can shrink life‑saving wait times from days to minutes when married to grassroots networks like Blood Warriors.
- Open standards matter. Building with government APIs, not around them, makes scale realistic.
- Stories move people. Donors reacted better to impact badges (“Your last 3 donations helped 9 transfusions”) than to raw stats.
I leave this hackathon convinced that even small teams can move the healthcare needle when empathy meets engineering. Let’s keep coding for human uptime.
Built With
- abdm-uhi
- aes-256-gcm
- apache-kafka
- aws-cognito
- aws-kms
- aws-rds/postgresql-citus
- debezium-apis-&-standards:-e-raktkosh-rest-api
- expo-localization-platforms-&-cloud:-aws-eks-(kubernetes)
- expo.io
- github-actions
- github-actions-ci/cd
- grafana
- hashicorp-vault
- hie-cm-consent-apis
- hugging-face-transformers
- javascript-(node/kafkajs)-frameworks-&-libraries:-fastapi
- kafkajs
- kubernetes
- languages:-python-3.12
- ndhm-sandbox
- oauth-2.1-devops-&-monitoring:-docker
- prometheus-security:-tls-1.3
- prophet
- pytorch-forecasting
- qr-code
- react-native-web
- redis
- redis-streams
- strawberry-graphql
- terraform-databases-&-messaging:-postgresql-citus
- twilio-whatsapp-api
- typescript-(react-native)
- xgboost
Log in or sign up for Devpost to join the conversation.