Project
ReCharge
Power bank sharing: machines, app and cloud
Overview
ReCharge lets people in Indonesia rent a power bank from a vending machine with their phone and return it at any other machine. I worked on the Flutter app, the TypeScript and Rust services on AWS, and the integration that unlocks slots on the machines.
The interesting part is state: a battery is either in a machine, in a user's hand or lost, and every transition has to be right even when the machine's connection drops.
Highlights
- Flutter app on iOS and Android with rental, payment and machine map flows.
- Rust and TypeScript services on AWS for rentals, machine telemetry and payments.
- Machine protocol integration with retry and reconciliation for offline kiosks.