Back to Portfolio
IoT & EV Charging

Saadhan Charge: EV charging, end to end

An OCPP 1.6J charging management system for stations in Nepal. We built the central system that talks to the chargers, the web dashboard operators run their stations from, and the Saadhan Charge app drivers use to find, start and pay for a charge.

2024
Year
OCPP 1.6J
Protocol
10k msg/sec
Telemetry Rate
Multi-Brand
Vendor Agnostic
The challenge

Chargers, operators and drivers, in real time

Every charger speaks OCPP over a WebSocket and reports its connectors, sessions and meter values. Operators need to see and control their chargers remotely and bill each session.

Drivers need to know which connector is free before they drive there, start without queueing at a counter, and see what a charge costs while it runs, in English or Nepali.

  • Live connector status for every station
  • Remote start, stop, restart and cable unlock
  • Sessions billed from RFID card balances
  • A driver app in English and Nepali
What we built

One system, three front doors

The chargers, the operators and the drivers each get the interface they need, on one central system.

  • Central system

    FastAPI + OCPP 1.6J

    The CSMS the chargers connect to, with a REST API of 86 endpoints for users, operators, stations, chargers, connectors and billing.

  • Operator dashboard

    Next.js

    For super-admins and charge point operators: stations, chargers, pricing, customers, transactions and settlements.

  • Driver app

    Flutter

    iPhone and Android, English and Nepali: an OpenStreetMap station map, QR start, live charging, card wallets and a home-screen widget.

  • Safety

    HTTPS · secure storage

    Login tokens kept in the phone’s Keychain or Keystore, and a demo mode that never touches live chargers, where charging costs real money.

Highlights

What it does

Find a charger

  • Every station on a list or a map, with free connectors right now
  • Filter by connector (CCS2, GB/T) and power, or sort by distance
  • Opening hours, photos, prices and directions

Charge

  • Start with a QR scan or a free connector
  • Battery level, energy, power and cost, live
  • History with the transaction number of every session

Operate

  • Watch chargers live, start and stop sessions
  • Restart chargers and unlock cables remotely
  • Manage pricing and customers, and see revenue
Stack: #OCPP 1.6J#FastAPI#Next.js#Flutter#WebSockets#OpenStreetMap

Have a project like this?

Our team in Pokhara designs and builds mobile apps, backends and the systems that connect them.

Start a conversation