Anurag Tiwari

Work

I start things from zero. I'm a software engineer at Exponent Energy in Bengaluru, since June 2023. Exponent builds EV fast charging. When a problem has no answer yet, I like to be the one who builds the first version. At Exponent that has meant the code on the chargers, and the cloud and data behind them.

200+
chargers running the Rust service I started
1M+
charging sessions a year, 4.8 GWh
3B+
CAN frames a day from the fleet
74 s
p99 billing latency, from cloud arrival to the charge being created. It was 8 hours.
~300
dbt models, 7 source systems, 100+ internal users
3.5K
vehicles

The charger service

I started the Rust service that runs on every charger. It talks to the vehicle's battery over CAN, runs the charging state machine and handles each session. It takes firmware updates from the cloud and recovers on its own when something fails. Today it runs on 200+ chargers, and the fleet streams 3B+ CAN frames a day to the cloud.

Sessions and billing

Billing used to wait for a batch pipeline that ran every 8 hours. I started its replacement. The charger builds each session, stores it locally, and syncs it when it has a connection. A network drop no longer splits or loses a session.

Billing latency went from 8 hours to a p99 of 74 seconds. That is measured from the moment the session reaches the cloud to the moment the charge is created. End to end it takes longer, because chargers hold sessions while they are offline.

I also started the billing engine, and built it with a teammate. It handles subscriptions, invoices, payments and dues for 1M+ sessions a year, and syncs to the finance system.

One account per vehicle

Exponent sells batteries to vehicle makers, so we never learn who buys the vehicle. Yet the same vehicle keeps coming back to our stations. I designed the data model around one persistent account per vehicle, and batteries attach to it for a period of time. A battery swap or a re-onboarding keeps the full history, with no data migration. The same model covers three-wheelers and buses.

The analytics platform

I started the data platform. It is about 300 dbt models on Databricks. It pulls telemetry from every device family across 7 source systems, and turns it into charging sessions, battery health, energy use and error diagnostics. More than 100 people across engineering, finance and the business use it.

Before Exponent

I was a software engineer at Amazon from 2022 to 2023, and an intern at Tokopedia in 2021. I studied computer science at IIITM Gwalior. The full list is on my resume.