Moi, c’est Mohamad. J’ai 17 ans, je viens de la baie de San Francisco et je viens de sortir l’appli mobile officielle de HCB.
Si tu n’en as jamais entendu parler, HCB est l’épine dorsale financière de plus de 6 500 associations menées par des ados, clubs et hackathons. On offre un statut associatif 501(c)(3), l’accès à un compte bancaire, une plateforme de collecte de dons et des cartes de débit à des milliers de jeunes qui veulent faire du bien autour d’eux.
HCB traite aujourd’hui en moyenne 6 millions de dollars par mois (plus de 80 millions de dollars depuis le début)1. Cette dernière année, j’ai mené le projet pour construire la toute première appli mobile pour toute cette communauté.
Tout le projet est open source sur GitHub (on adore les ⭐️ !).
Pourquoi construire ça ?
Ces ados font tourner des équipes de robotique, des hackathons et des projets associatifs qui améliorent leur communauté. Ils ont besoin de gérer les finances de leur organisation depuis leur poche. Avec HCB Mobile, ils pourront :
- Suivre le solde de leur organisation et les transactions où qu’ils soient.
- Accepter des dons tap-to-pay en présentiel, parfait pour une collecte ou un événement ! Aucun matériel en plus. Il suffit d’approcher n’importe quelle carte de ton téléphone.
- Émettre de nouvelles cartes de débit, les ajouter à Apple / Google Wallet, et les geler ou les annuler directement depuis leur téléphone.
- Envoyer des reçus directement depuis leur appareil, ou associer des reçus déjà dans Receipt Bin aux transactions d’un tap.
Le côté technique
Quand j’ai commencé cette appli, je voulais coder en natif, avec SwiftUI pour iOS et Kotlin/Jetpack Compose pour Android. Mais je me suis rendu compte que ça serait un enfer pour moi, lycéen à temps plein avec des cours, de gérer deux bases de code. J’aurais dû dupliquer chaque fonctionnalité d’un OS à l’autre et gérer toutes les galères d’intégration. Puis j’ai découvert Expo (un framework React Native) qui m’a permis d’écrire une seule appli pour plusieurs appareils. En travaillant avec Expo, j’ai appris à créer mes propres modules Expo (pour relier des fonctionnalités natives à TypeScript) et des méthodes d’optimisation comme la mémoïsation et le recyclage de composants.
Le côté hors-code de cette appli n’était pas une blague non plus. J’ai dû travailler avec les équipes de validation d’Apple et de Google pour obtenir des autorisations restreintes pour des fonctionnalités comme la configuration d’un terminal mobile de paiement sans contact (rendue possible par Stripe) et l’ajout direct de cartes au portefeuille de paiement depuis HCB Mobile. Il a fallu plusieurs mois et beaucoup d’échanges d’e-mails pour enfin obtenir les autorisations dont on avait besoin.
Après plus de 250 heures de développement, je peux dire que je suis extrêmement fier de HCB Mobile, parce qu’elle est construite par des ados pour faciliter la vie des ados comme moi qui font tourner des associations et des projets avec HCB. Au-delà des ados, HCB soutient aussi des centaines d’organisations menées par des adultes : entraide, projets open source, lieux communautaires.