Soy Mohamad, tengo 17 años, soy del Área de la Bahía de SF y acabo de lanzar la app oficial de HCB.
Si no lo conoces, HCB es la infraestructura financiera de más de 6500 organizaciones sin fines de lucro lideradas por adolescentes, clubes y hackathones. Ofrecemos estatus de organización sin fines de lucro 501(c)(3), acceso a una cuenta bancaria, una plataforma para recaudar donaciones y tarjetas de débito para miles de jóvenes que quieren hacer el bien en sus comunidades.
HCB procesa actualmente un promedio de 6 millones de dólares al mes (más de 80 M$ en toda su historia)1. Durante el último año, lideré el proyecto para crear la primera app móvil de toda esta comunidad.
Todo el proyecto es de código abierto en GitHub (¡nos encantaría una ⭐️!).
¿Por qué construir esto?
Estos adolescentes lideran equipos de robótica, hackathones y proyectos sin fines de lucro que mejoran su comunidad. Necesitan una forma de administrar las finanzas de su organización desde el bolsillo. Con HCB Mobile, van a poder:
- Consultar el saldo de su organización y las transacciones donde sea.
- Aceptar donaciones tap-to-pay en persona, ¡ideal para una recaudación o un evento presencial! No hace falta hardware extra. Solo acerca cualquier tarjeta de crédito o débito a tu teléfono.
- Emitir tarjetas de débito nuevas, agregarlas a Apple / Google Wallet y congelarlas o cancelarlas directo desde el teléfono.
- Subir recibos directo desde el dispositivo o vincular recibos existentes en Receipt Bin con transacciones de un toque.
La parte técnica
Cuando empecé a trabajar en esta app, quería construirla en código nativo como SwiftUI para iOS y Kotlin/Jetpack Compose para Android. Sin embargo, me di cuenta de que sería un dolor de cabeza para mí, un estudiante de tiempo completo con clases, manejar dos bases de código. Tendría que duplicar cada función que creara de un sistema operativo al otro y lidiar con todos los problemas de integración por el camino. Entonces descubrí Expo (un framework de React Native), que me permitió escribir una sola app que funcionara en varios dispositivos. Trabajando con Expo, aprendí a crear mis propios Expo Modules (para conectar funciones de código nativo con Typescript) y métodos de optimización como la memoización y el reciclaje de componentes.
El lado que no es código de esta app tampoco fue ninguna broma. Tuve que trabajar con los equipos de revisión de apps de Apple y Google para obtener permisos restringidos para funciones como el aprovisionamiento de terminal Tap to Pay móvil (posible gracias a Stripe) y el aprovisionamiento push (que permite a las personas agregar tarjetas directamente a su billetera de pagos desde HCB Mobile). Tomó varios meses y muchas cadenas de correos de ida y vuelta para por fin conseguir los permisos que necesitábamos.
Después de más de 250 horas de desarrollo, puedo decir que estoy increíblemente orgulloso de HCB Mobile porque está hecha por adolescentes para que a adolescentes como yo nos sea más fácil dirigir organizaciones sin fines de lucro y proyectos con HCB. Más allá de los adolescentes, HCB también apoya a cientos de organizaciones dirigidas por personas adultas, como grupos de ayuda mutua, proyectos de código abierto y espacios comunitarios.