I’m Mohamad, a 17-year-old from the SF Bay Area, and I just shipped the official mobile app for HCB.
If you haven't heard of it, HCB is the financial backbone for over 6,500 teenager-led nonprofits, clubs, and hackathons. We provide 501(c)(3) nonprofit status, access to a bank account, a donation collection platform, and debit cards for thousands of young people trying to do good in their communities.
HCB is currently processing an average of $6 million per month (over $80M in its lifetime).1 For the last year, I’ve led the project to build the first-ever mobile app for this entire community.
The entire project is open source on GitHub (we'd love a ⭐️!).
These teenagers are running run robotics teams, hackathons, and nonprofit projects that improve their community. They need a way to manage their organization's finances from their pocket. With HCB Mobile, they'll be able to:
When I started working on this app, I wanted to build in native code like SwiftUI for iOS and Kotlin/Jetpack Compose for Android. However, I realized that it would be a pain for me, a full-time student with classes, to handle two codebases. I'd have to duplicate every feature I created for one OS to the other and deal with all the integration issues along the way. Then, I discovered Expo (a React Native framework) which allowed me to write one app that worked on multiple devices. Working with Expo, I learned about creating my own Expo Modules (to bridge native code features to Typescript) and optimization methods like memoization and component recycling.
The non-code side of this app was no joke, either. I had to work with the Apple and Google app review teams to obtain restricted entitlements for features like mobile tap-to-pay terminal provisioning (made possible by Stripe) and push provisioning (which allows users to add cards to their payment wallet directly from HCB Mobile). It took several months and many back-and-forth email chains to finally get the entitlements we needed.
After over 250 hours of development work, I can say that I'm incredibly proud of HCB Mobile because it's built by teenagers to make it easier for teenagers like me to run nonprofit organizations and projects with HCB. Beyond teenagers, HCB also supports hundreds of adult-ran organizations such as mutual aid groups, open source projects, and community spaces.