skip to content
[··]nano-os v7.0 — booting portfolio
revival nano adolor
senior frontend engineer
00%
← work/07Solarchain (via TechMyBrand)▶ find it in play mode

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
Roof solar — current supply, amount due and usage report
Wallet — deposit, withdraw and transaction history
Dashboard — balance, solar supply, status and usage
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 →
Dashboard — balance, solar supply, status and usage
Dashboard — balance, solar supply, status and usage
Roof solar — current supply, amount due and usage report
Roof solar — current supply, amount due and usage report
Wallet — deposit, withdraw and transaction history
Wallet — deposit, withdraw and transaction history
Onboarding — “Web3 powered electricity”
Onboarding — “Web3 powered electricity”
Mobile battery — time in use
Mobile battery — time in use
Add funds in USDT on BNB Chain
Add funds in USDT on BNB Chain
Bill history
Bill history
Plant information — production, CO₂ avoided, inverter
Plant information — production, CO₂ avoided, inverter

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.
next case study →cookcutRaw cooking footage in, short-form video out
✓