# HCB Mobile is here!

## Manage your HCB organizations on the go. Issue cards, view transactions, and more!

Mohamad Mortada

Dec 2, 2025

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).

_The entire project is open source on [GitHub](https://github.com/hackclub/hcb-mobile) (we'd love a ⭐️!)._

## Why build this?

These teenagers are running 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:

- Track their **organization's balance** and transactions on the go.
- Accept in-person **tap-to-pay donations**, perfect for an in-person fundraiser or event! No extra hardware required. Just tap any credit/debit card against your phone.
- **Issue new debit cards**, add them to **Apple / Google Wallet**, and freeze or cancel them directly from their phone.
- **Upload receipts** directly from their device or match existing receipts in Receipt Bin to transactions with a tap.

## The Technical Stuff

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.

## Download the app!

## Looking to start a nonprofit?

We're accepting applications! No startup fees, no minimum balance, and no long wait time.

[Learn more](/content/fiscal-sponsorship/index.html) [Apply now](https://nonprofit.new/)
