EV charging
VoltHub
We built VoltHub's driver app, public website and operator console, along with the back end that talks to its chargers.


The challenge
EV charging only works when drivers can find a station, start a charge and pay from their phone, and operators can see every charger in one place. Behind that, each charger has to report to a back end and take commands from it. VoltHub needed all of these to work as one system.
What we built
Driver app
Drivers find stations on a map, scan the QR code on a charger to start a session, and follow power and time as the car charges. They pay per session or from a prepaid VoltHub wallet through StarPay QR, using GCash, Maya or the StarPay app. Charging history sits in their account, and a receipt arrives by email. Built with Expo for iOS and Android.
Charger gateway
A back-end service keeps a connection open to each charger over OCPP 1.6, the open standard chargers use. It receives boot, heartbeat, status, meter and transaction messages, and it sends remote start and stop, reset, unlock, configuration and firmware update commands.
Operator console
A Next.js admin for chargers, stations, sessions, payments, payouts and revenue. Each charger has a QR code that drivers scan to start a session at that charger.
Public website
Product and service pages, a blog, and solar and EV charging ROI calculators, built in Next.js.
Back end
A NestJS app with Prisma, PostgreSQL on Neon and Redis on Upstash, deployed on Google Cloud Run. The infrastructure is described in Pulumi. Rules run in the background: a charge stops at the driver's limit, slow charging is flagged, idle fees are applied and unpaid QR codes expire.
Highlights
- Drivers scan a QR code at the station, then follow the charge live in the app.
- Chargers connect over OCPP, the open standard EV chargers use to talk to a back end.
- Drivers get a notification when a charge finishes, stops at their limit or slows down, and a receipt by email.
- The public site includes solar and EV charging ROI calculators.
Platforms and stack
- iOS and Android app
- Public website
- Operator console
- Charger gateway (OCPP 1.6)
Stack
- Expo
- React Native
- Next.js
- NestJS
- Prisma
- PostgreSQL
- Redis
- Google Cloud Run
- Pulumi
- Sentry
Related capabilities
Web platforms
Public sites, portals and admin consoles, built in TypeScript and React.
Read about this capabilityMobile apps
iOS and Android apps from one codebase, built with React Native and Expo.
Read about this capabilityBackend, APIs and integrations
The services behind a product: APIs, data, payments and devices.
Read about this capabilityCloud platforms and DevOps
Cloud infrastructure described in code, with deployments that repeat.
Read about this capabilityOperations and reliability
We stay on after launch to monitor, respond and release.
Read about this capability
Have a product like this in mind?
Tell us what it needs to do, who uses it and how it has to run after launch. We will talk through the scope and the stack with you.
