Solarchain
Web3-powered solar, metered in an app.
The iOS and Android app for a pay-as-you-go solar product: live energy usage, plant performance, a wallet with naira and USDT, subscription payments and a fiat on-ramp.
- role
- Mobile engineer · built the app
- year
- 2023
- platform
- iOS · Android
- live
- private
- stack
- ExpoReact NativeRedux ToolkitTanStack Queryvictory-nativeexpo-barcode-scanner



supply 3.27 kW · live
deposit NGN → USDT · BSC
2
platforms from one codebase
RT
energy usage tracking
NGN ⇄ USDT
wallet with a fiat on-ramp
$ ls ./screens
8 screens · scroll →The problem
Solarchain sells solar power the way phone networks sell data: a roof system or a portable battery, paid for as you go. That only works if customers can see what they're using, what they owe and how to top up — on a phone, from anywhere.
What I built
I built the iOS and Android app (the mobile app only), in Expo and React Native with TypeScript, Redux Toolkit for session state and TanStack Query for server data.
- Real-time energy tracking — current solar supply, time in use for the portable battery, and daily usage reports charted with victory-native.
- Plant information — location, production today / this month / lifetime, system power, CO₂ avoided and the inverter in use.
- A wallet with naira and USDT balances, deposits by card, bank transfer or crypto (USDT on BNB Chain), withdrawals and a full transaction history.
- Subscription and bill payments — amount due, top-ups and a bill history with paid, pending and unpaid states.
- Onboarding and KYC, sign-in with a passcode and biometrics, and QR scanning to pair a device.
Outcome
- One codebase shipping to both stores.
- Usage, billing and payment in one place, so customers top up before the power stops rather than after.




