Mi chiamo Mohamad, ho 17 anni e vengo dalla zona della Baia di San Francisco e ho appena pubblicato l'app mobile ufficiale di HCB.
Se non ne hai mai sentito parlare, HCB è la spina dorsale finanziaria di oltre 6.500 organizzazioni non profit, club e hackathon guidati da teenager. Forniamo lo status di organizzazione non profit 501(c)(3), l'accesso a un conto bancario, una piattaforma per la raccolta di donazioni e carte di debito a migliaia di giovani che cercano di fare del bene nelle loro comunità.
Attualmente HCB gestisce in media 6 milioni di dollari al mese (oltre 80 milioni di dollari nel corso della sua attività)1. Nell'ultimo anno ho guidato il progetto per la creazione della prima app mobile in assoluto per l'intera community.
L'intero progetto è open source su GitHub (ci farebbe piacere ricevere una ⭐️!).
Perché fare tutto questo?
Questi teenager gestiscono team di robotica, hackathon e progetti non profit che migliorano la loro comunità. Hanno bisogno di un modo per gestire le finanze della loro organizzazione direttamente dal proprio smartphone. Con HCB Mobile potranno:
- Monitorare il saldo della loro organizzazione e le transazioni ovunque si trovino.
- Accettare donazioni con Tap to Pay di persona, perfetto per una raccolta fondi o un evento in presenza! Non serve alcun hardware aggiuntivo. Basta avvicinare una qualsiasi carta di credito/debito al telefono.
- Emettere nuove carte di debito, aggiungerle ad Apple / Google Wallet e congelarle o annullarle direttamente dal loro telefono.
- Caricare ricevute direttamente dal loro dispositivo oppure associare le ricevute già presenti nel Cestino delle ricevute alle transazioni con un tocco.
La parte tecnica
Quando ho iniziato a lavorare su questa app, volevo sviluppare in codice nativo come SwiftUI per iOS e Kotlin/Jetpack Compose per Android. Tuttavia, mi sono reso conto che sarebbe stata una seccatura per me, studente a tempo pieno con le lezioni, gestire due codebase. Avrei dovuto duplicare ogni funzionalità creata per un sistema operativo sull'altro e affrontare tutti i problemi di integrazione lungo il percorso. Poi ho scoperto Expo (un framework React Native) che mi ha permesso di scrivere un'unica app che funzionasse su più dispositivi. Lavorando con Expo, ho imparato a creare i miei Expo Modules (per collegare le funzionalità del codice nativo a Typescript) e metodi di ottimizzazione come la memoizzazione e il riciclo dei componenti.
Anche il lato non legato al codice di questa app non è stato uno scherzo. Ho dovuto collaborare con i team di revisione delle app di Apple e Google per ottenere entitlement con restrizioni per funzionalità come il provisioning del terminale Tap to Pay su mobile (reso possibile da Stripe) e il push provisioning (che consente agli utenti di aggiungere carte al proprio wallet di pagamento direttamente da HCB Mobile). Ci sono voluti diversi mesi e molte catene di email avanti e indietro per ottenere finalmente gli entitlement di cui avevamo bisogno.
Dopo oltre 250 ore di sviluppo, posso dire di essere incredibilmente orgoglioso di HCB Mobile perché è creato da teenager per rendere più facile a teenager come me gestire organizzazioni e progetti non profit con HCB. Oltre ai teenager, HCB supporta anche centinaia di organizzazioni gestite da adulti, come gruppi di mutuo soccorso, progetti open source e spazi comunitari.