CLIENT: Rozsutec Mobility a.s.🇸🇰Slovakia

Stožiar - EV Charging App and Operator Console for a Two-Country Charge Point Network

EV Charging Platform for a Slovak Charge Point Operator

Designed and built a clickable operator console for a Bratislava charge point operator running about 1,200 public chargers in Slovakia and Czechia: live network health, every charger and its OCPP state, audited remote commands, and session detail with signed meter values, the full price calculation and refunds within each user's limit.

Scope of Work
Product design, UI build and clickable demo
Industry
Energy / EV Charging
EnergyEVIoTEnterprise
Compliance & Certifications
AFIROCPP 1.6J and 2.0.1OCPI 2.2.1MIDGDPRSlovak Act 18/2018Czech Act 110/2019PCI DSSPSD2 SCAEuropean Accessibility ActWCAG 2.1 AA

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Dashboard, chargers, charger detail, sessions and session detail. Every one of the 22 demo chargers and 30 sessions opens its own detail page.

8 Commands
Remote control over OCPP

Remote start and stop, unlock, soft and hard reset, change availability, trigger status and get diagnostics. Each needs a reason, is logged with its result, and times out after 60 s on a disconnected charger.

30.00 EUR
Refund limit checked on screen

A refund is checked against the amount captured and the user's own limit (30.00 EUR or 750.00 CZK, client policy). Anything above it goes to a support lead for approval.

22 Chargers
Realistic demo data

14 sites in Slovakia and Czechia, 4 hardware vendors on OCPP 1.6J and 2.0.1, 30 sessions across 5 payment channels, 6 tariffs in EUR and CZK, 6 field tickets and 3 roaming partners.

The Problem

Rozsutec grew by buying two smaller networks. Chargers from four makers reported to two back ends, prices lived in a spreadsheet and were pushed by hand, and the old app showed chargers as available after they had been offline for days. Drivers saw the price only on their bank statement, roaming drivers were refused where tariffs had not been shared, a broken motorway charger could stay broken for a week, and support refunds left no record of why.

Our Solution

Stožiar is one platform for drivers and operators: a driver app and a no-account web payment page that show the full price before every start, and an operator console that runs chargers over OCPP, roaming over OCPI, tariffs, sessions, field service, refunds and the AFIR data feed. The build is the operator console's core: network health, chargers, remote commands and session detail.

The Challenge: One Network From Many Parts

A charge point operator answers to drivers, roaming partners, site hosts and EU law at once. Rozsutec had to do it across two countries, two currencies, four hardware vendors and two OCPP versions.

Price Before Energy Flows

AFIR requires ad hoc charging without an app or contract, and a price shown before the session starts, broken down into its per kWh, per minute, per session and other components. Prices had been set in a spreadsheet, so what the driver saw and what they paid could differ.

Status Drivers Could Trust

Chargers report over OCPP 1.6J or 2.0.1 with their own vendor error codes. A charger that stops sending heartbeats has to become unknown rather than stay available, and a fault has to reach a field service ticket instead of waiting in a complaint inbox.

Billing That Holds Up

Each session has to be priced from the tariff version that applied at its start, with VAT for the country of the charger, a pre-authorisation hold captured for the final amount, and signed meter values (OCMF) where the charger provides them so a reading can be verified.

Roaming and Data Duties

Partner drivers arrive through OCPI 2.2.1 with their own tokens and tariffs, and AFIR expects location, availability and price data published free of charge to each national access point. Charging history shows where a person was and when, so GDPR applies.

Our Approach: From Charging Rules to a Clickable Console

01

Spec and Rules Research

Mapped 13 roles from drivers to grid engineers and 48 screens: 15 in the driver app, 4 for ad hoc web payment and 29 in the operator console. Defined the data model for sites, chargers, EVSEs, versioned tariffs, sessions, payments, refunds, roaming partners, CDRs, tickets and remote commands, and wrote down the rules the design follows: AFIR, OCPP, OCPI and eMI3 ids, MID metering, GDPR with the Slovak and Czech data protection acts, PCI DSS, PSD2 and the European Accessibility Act.

02

Clickable Demo on a Production UI Kit

Built the operator console's 5 key screens on a production dashboard kit: the dashboard with uptime against the 98% client target, KPIs per country, sessions per hour and a needs attention list; the chargers table with status tabs and filters; charger detail with remote commands, status history with vendor error codes explained, configuration keys and the OCPP message log; and sessions with session detail, meter values chart, signed meter values and refunds. All actions run on local state.

03

What a Production Build Adds

The OCPP back end for ABB, Alpitronic, Kempower and Wallbox chargers, OCPI roaming direct or through a hub such as Hubject or Gireve, Adyen or Stripe payments with pre-authorisation, Nayax or Payter card terminals, the national access point data feed, and accounting exports. Staff roles with country scope and refund limits, an append-only audit log, the driver app, the ad hoc web payment pages and the remaining console screens for tariffs, roaming, tickets, uptime, refunds and settings.

Why It Works: Every Charger and Every Cent Accounted For

Problems Surface Before Drivers Call

The dashboard lists chargers offline for more than 30 minutes, connectors with 3 failed starts in a row, tickets past their repair target (24 hours for motorway DC, 72 hours for AC, client policy), refunds awaiting approval, roaming credential errors and sites near their grid limit, each linked to the record.

Commands With a Reason and a Result

Every remote command asks for a reason, shows whether the charger accepted, rejected or timed out, and stays in the command log with the user's name. Vendor error codes such as GroundFailure are translated into plain language next to the raw OCPP messages.

Each Session Can Be Explained

Session detail shows the timeline from authorisation to unplug, the power and energy curve, the tariff version applied, each price component with VAT, the pre-authorisation and capture, and the OCMF signature status with a link to the transparency viewer.

Money in Its Own Currency, Data Kept Minimal

Slovak sessions stay in EUR and Czech sessions in CZK, with a country switch on every list. Driver emails are masked, card details show only brand and last four digits, and opening a session is recorded in the audit trail.

Related case studies

View all: Energy & utilities
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab