Inspiration
At the time of writing this, the United Network for Organ Sharing (UNOS) reports there are 108,562 people on the national transplant list. Additionally, the NIH reports that 17 people die waiting for an organ each day. This means that throughout the mere duration of this hackathon, approximately 26 people died awaiting an organ in the U.S and nearly 240 new names were added (Penn Medicine). This unfortunate reality is not due to the inevitability of death but the scarcity of organs: a scarcity that can be greatly reduced by increasing the number of registered donors and living donors.
This project was largely inspired by the Nobel Prize winning economic research by Al Roth and Judd Kessler that encourages donor registration through a priority policy for people that were already organ donors. By rewarding those willing to make a scarce resource available, implementation in Israel and Singapore saw a dramatic increase in registration rates and living donor donation.
The current U.S. organ registration system not only fails to implement this policy but remains outdated with its current registration system. Current organ registration is largely relegated to checking a box when getting your driver’s license, completely excluding those who don’t have a driver’s license (I’m working on it). Nevertheless, such a system fails to reflect the life determining severity of maximizing the number of organ donors.
What it does
Our app, Hero, makes registering to be an organ donor easier and implements the aforementioned policy by alerting you once you hit the 3-year mark as an organ donor where you receive a level of priority on the UNOS donor list if you ever (hopefully never) need an organ. If you're “willing to spare” and eligible it uses the stable matching algorithm to match you with possible recipients and once you pick a match and a timeline sends the information to a hospital to schedule surgery. After donation, you are given the highest level of priority that can be passed off to a loved one waiting for an organ. Granted, sacrificing an organ is the only way you can contribute to the health of others, Hero given a zip code finds close by blood donation centers for you to donate blood.
When it comes to illness, we are too often left powerless in protecting those we love most from suffering, Hero's easier donor registration and organ donor matching allows us to indirectly help those we love by directly helping those others love.
How we built it
We built Hero as a mobile app using React Native and Expo SDK 54 with TypeScript. Navigation is handled by Expo Router (file-based routing), while we used NativeWind (Tailwind CSS for React Native) for styling to keep UI development fast and consistent.
The matching algorithm was originally prototyped in Python, then ported entirely to TypeScript. It scores recipients using blood type compatibility, medical priority factors (waiting time, sensitization, age, eGFR), and geographic proximity (converting zip codes to coordinates via the zipcodes package and applying Haversine distance). Eligibility screening cross-references user responses against a rules table derived from real donor disqualification criteria.
We integrated the Overpass API/OpenStreetMap to query for nearby blood donation centers and blood banks based on the user's zip code, giving real geographic results without needing API keys. Encryption uses AES-256-GCM via the Web Crypto API, ported from our Python reference implementation. The app runs entirely frontend-side with in-memory auth and mock patient records, but would include a comprehensive backend database in a real-world application.
Challenges we ran into:
- Design to dev: Converting a Figma design file into code with intuitive layout for multiple screen sizes
- Python → TypeScript: Porting the matching logic and AES-256-GCM encryption while keeping behavior identical
- Frontend-only setup: Deciding where to put auth, API calls, and matching when there’s no backend
Accomplishments we're proud of:
- Encryption: Successfully implementing HIPAA-compliant encryption of data!
- App development: Creating our very first mobile app with React Native
- Intuitive UI: Combining design with development to create an app that feels human-first and accessible
- User flow: Onboarding, eligibility screening, matching, scheduling, and thank-you screen connected end-to-end
- Live blood drives: OpenStreetMap API integration to show real donation sites by zip code, no API key required
- Domain-aware matching: Matching based on blood type, recipient priority, and geographic distance.
What we learned
When designing for healthcare, the importance of erring on the side of caution instead of leaving things to chance. When determining matching, we had to make sure the questionnaire was exhaustive and learned to be quick to disqualify potential donors, sacrificing donor match maximization to ensure the safety and compatibility of all matches.
None of us had extensive hackathon experience or had ever developed a mobile app before, so this was a huge and exciting learning experience. We learned a lot about the thought behind design decisions and how to collaborate on moving parts to ensure a working product.
What's next for Hero
We’re aware that ultimately the success of our application relies on policy reform; however, we thought Treehacks ( i.e.“boiling the ocean” ) called for innovation that transcended outdated and negligent infrastructure. Regardless, with improvements on the encryption logic to ensure user privacy, optimized weighting for matching and connection to national health organizations, Hero can hopefully evolve to facilitate plasma and liver donation through matching as well. In addition to allowing both hospitals and users quick access to their donor status. We hope the development of this application will trigger a much needed reform of NOTA and UAGA laws along with making registration for organ donors more accessible. Our team is sure that, Hero, policy allowing, revolutionizes organ donation and would undoubtedly save countless lives as seen in other countries. Not to mention, facilitating generosity and challenging the way we think about our own mortality.
Built With
- aes-256-gcm
- claude
- cursor
- gemini
- openstreetmap
- react-native
- tailwindcss
- typescript
- zipcodes

Log in or sign up for Devpost to join the conversation.