Я Мохамад, мне 17, я из района залива Сан-Франциско, и я только что выпустил официальное мобильное приложение для HCB.
Если вы ещё не слышали, HCB — финансовый фундамент для более чем 6500 некоммерческих организаций, клубов и хакатонов, которыми руководят подростки. Мы даём статус некоммерческой организации 501(c)(3), доступ к банковскому счёту, платформу для сбора донатов и дебетовые карты тысячам молодых людей, которые хотят делать доброе дело в своих сообществах.
Сейчас HCB обрабатывает в среднем $6 миллионов в месяц (более $80 миллионов за всё время)1. Последний год я вёл проект по созданию первого мобильного приложения для всего этого сообщества.
Весь проект открыт на GitHub (мы будем рады ⭐️!).
Зачем мы это сделали?
Эти подростки ведут робототехнические команды, хакатоны и некоммерческие проекты, которые улучшают их сообщества. Им нужен способ управлять финансами организации из кармана. С HCB Mobile они смогут:
- Отслеживать баланс организации и транзакции на ходу.
- Принимать донаты tap-to-pay вживую — идеально для офлайн-сбора средств или мероприятия! Без дополнительного оборудования. Просто приложите карту к телефону.
- Выпускать новые дебетовые карты, добавлять их в Apple / Google Wallet и замораживать или закрывать прямо с телефона.
- Загружать чеки прямо с устройства или сопоставлять существующие чеки в Receipt Bin с транзакциями одним касанием.
Техническая сторона
Когда я начинал работу над приложением, я хотел писать нативно: SwiftUI для iOS и Kotlin/Jetpack Compose для Android. Но я понял, что для меня, школьника, у которого и так полно уроков, две кодовые базы — это мучение. Пришлось бы дублировать каждую фичу с одной ОС на другую и разбираться с интеграциями. Тогда я открыл для себя Expo (фреймворк React Native), который позволил писать одно приложение для разных устройств. С Expo я научился создавать Expo Modules (чтобы подключать нативные возможности к TypeScript) и методам оптимизации вроде мемоизации и переиспользования компонентов.
Некодовая сторона этого приложения тоже серьёзная. Мне пришлось работать с командами ревью Apple и Google, чтобы получить специальные разрешения (entitlements) для функций вроде превращения телефона в tap-to-pay-терминал (благодаря Stripe) и push provisioning (чтобы пользователи могли добавлять карты в платёжный кошелёк прямо из HCB Mobile). Ушло несколько месяцев и множество переписок, пока мы наконец получили нужные разрешения.
После более чем 250 часов разработки я могу сказать, что невероятно горжусь HCB Mobile: оно создано подростками, чтобы подросткам вроде меня было проще вести некоммерческие организации и проекты на HCB. Помимо подростков, HCB также поддерживает сотни организаций взрослых — группы взаимопомощи, open-source проекты и общественные пространства.