Work case · Electric vehicle charging
A direct way to pay for and start an EV charging session.
I built a web journey connecting physical charging points, payment authorization, live session data and invoicing without requiring drivers to install an app.
In this case
The customer name and commercially sensitive details are not included.
Overview
Charging without an account or separate app.
The product needed to turn a QR code on a physical charger into a clear digital journey. A driver had to identify the charger, choose a payment method, authorize payment, start charging and follow the session from a browser.
Customer journey
From QR scan to invoice.
- The driver scans a QR code and sees the correct charger details.
- They choose a payment option and authorize a temporary amount through Adyen.
- After authorization, they connect the car and start the charging session.
- The page refreshes charging progress and expected costs every few seconds.
- When charging ends, the driver sees the final cost, can download an invoice and can complete a survey.
My responsibility
Connecting the complete experience.
I implemented the TypeScript and Next.js application and connected the customer interface with the payment provider and external charging API. I also created the background processing, temporary data storage, automated tests, mocked test scenarios and analytics documentation.
Value created
A simpler route from arrival to charging.
Drivers could use a charger through a familiar browser flow instead of first creating an account or installing an application. The system kept payment, charger status, session progress, cost information and invoicing together in one journey.
For the organization, the solution connected the physical charging network with payment and customer-facing information while keeping the important steps measurable.
Technical foundation
Built around external systems and changing session data.
Next.js and TypeScript provided the application foundation. Adyen handled payment authorization. Redis stored short-lived operational data, while BullMQ jobs regularly synchronized charger information from the external provider. The application then fetched current session details and expected costs throughout charging.
Next.js · TypeScript · Adyen · Redis · BullMQ · Playwright · External charging API
Quality and insight
Testing the journey and documenting critical traffic.
I used Playwright to test the browser journey and mocked external behavior so important situations could be verified without depending on live providers. I also configured GA4 Explorations to document traffic and business-critical steps in the charging flow.
Work together
Need experienced technical support?
Tell me about your product, platform or team and where you need help.