Charging, payments and the plumbing between.
Elocity builds the platform charge point operators use to run chargers, tariffs, customers, payments and roaming. Drivers use white-label apps; operators use a web portal. I own features end to end: design, API and data model, migrations, tests, release, and the client call when something breaks.
Card payments at the charger.
Money moves through a card terminal and a third-party cloud, triggered by charger events, so every step can fail halfway. I'm the single point of contact for it. Try both paths.
Simulation of the real design. The 3 s poll interval, 48 s limit and 15-minute leader-only recovery job are real; time is compressed.
Nine features, owned end to end.
V2 Mobile Location API
Distance search in SQL, our own and roaming locations merged, rich filters, live connector status.
FOR → MOBILE APPSLocation autocomplete
LocationIQ, Google or HERE behind one API, reference data cached in Redis for 3 months.
FOR → MOBILE APPSOCPI 2.2.1 roaming
CPO and eMSP roles over the Open Charge Network, so drivers can charge at partner stations.
FOR → ROAMING PARTNERSMaya payments
Tokenisation, card holds, capture and over-capture, voids, refunds, webhooks, reconciliation jobs.
FOR → PHILIPPINES, SINGLE POINT OF CONTACTPOS terminal payments
Pre-auth, capture and void through AMP 360 with automated recovery.
FOR → CARD TERMINALS AT CHARGERS, SINGLE POINT OF CONTACTGuest charging
Stripe backend plus the Next.js 16 frontend: per-connector routes, live session status, invoices.
FOR → DRIVERS WITHOUT THE APPActivity log framework
Audit events through Kafka and Kafka Connect into OpenSearch.
FOR → ADMINS AND AUDITORSElevenLabs voice agent
APIs that explain charging failures to callers, plus the support page UI.
FOR → CUSTOMERS WHO CALL SUPPORTOTP v6
Five OTP generations folded into one, with Firebase App Check and rate limiting. Every older version retired.
FOR → MOBILE APPSChanging trains while moving.
Most started with a production problem: timeouts, crashes on large tenants, or OTP abuse.
Pick the wire for the job.
NestJS microservices on Oracle Kubernetes across three fault domains, Kafka on AWS MSK over a site-to-site VPN, PostgreSQL behind PgBouncer with row-level security, and OpenSearch.
Earlier stops.
Full stack blockchain developer, D Frame Foundation
- Wrote the DFT ERC20 contract and minted 100 million tokens on Polygon mainnet
- React, Express and MongoDB dashboard with Magic Link sign-in, cutting sign-in time by 50%
- Built the reward engine and shipped the browser extension to the Chrome Web Store
Security research intern, SISTMR Australia
- Security testing of web apps: vulnerability exploitation and malware analysis
- Penetration testing and persistence techniques for web applications