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

  1. 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.
  2. Government rails are your friend. India’s ABDM and e‑RaktKosh APIs weren’t perfect, but aligning with them unlocked nation‑scale reach.
  3. 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.
  4. (\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
Share this project:

Updates

Submission history