Personal project

Charging my car from my phone

A small personal web app to start, stop, and check my electric car's charging from my iPhone.

I built a small web app to start, stop, and check my electric car’s charging from my iPhone. It’s for me alone, so it sits behind authentication and isn’t public.

How it works

The frontend is Astro with Tailwind CSS and shadcn/ui components, rendered at build time with no client-side React. The API is written in Rust, compiled to WebAssembly, and runs on Cloudflare Workers, which also serve the frontend. Login sessions live in Workers KV and expire after a few hours.

Getting commands right

Charging commands act on a real car, so the app is careful about them. A Durable Object lets through one command at a time, so the app never sends overlapping requests to the charger. Start commands are never retried automatically. Success means the charger confirms a new charging session, not just that it acknowledged the request. The session panel shows what the charger reports, and says so when a reading is missing or stale instead of guessing.

↑↓ to move↵ to openSome commands aren't listed.