Drives
Route maps with speed, power, battery and temperature charts, GPX export, and filters and presets that follow you across pages.
Drives, charging, trips, battery health, efficiency and costs — logged from your own account and kept in your own hands. Self-hosted with none of the self-hosting: one Cloudflare Worker, one SQLite database, one command to deploy.
Two cars and three years of history, already loaded. No sign-up.
EVBook logs your car without keeping it awake — a vehicle state machine with careful sleep-preservation rules — and turns that log into the screens below.
Route maps with speed, power, battery and temperature charts, GPX export, and filters and presets that follow you across pages.
Energy, cost and AC/DC split, charging curves, per-session cost editing and geofence-based pricing rules.
Usable capacity and degradation trends, consumption by outside temperature — the panel that tells winter apart from wear — plus idle loss and firmware history.
The drives of one journey put back together — route, stops, charges on the way and what it all cost — over named geofences with a map editor and per-location pricing.
Distance, energy, cost and consumption by day, week, month or year in your own time zone — and one band of asleep/awake/driving/charging for "what happened last Tuesday".
Import your history from another logger and watch it replay through the real state machine. Every table is a CSV download away, and there is a read-only JSON API.
TeslaMate proved a self-hosted logger can be gentle to the battery and thorough with the history. Tessie showed how effortless the experience can be. EVBook is an attempt at both, on infrastructure you do not have to operate.
| Aspect | EVBook | TeslaMate | Tessie |
|---|---|---|---|
| Runs on | Your Cloudflare account, or any VPS | Your server | Their cloud |
| Stack to operate | One Worker + one SQLite database | Elixir + PostgreSQL + Grafana + MQTT | — |
| Setup | One command, or one guided agent chat | Docker Compose, reverse proxy, auth | Sign-up |
| Running cost | Free on Cloudflare's free tier | Server + upkeep | Monthly subscription |
| Maintenance | None — no OS, no database upgrades, no backups to schedule | Image pulls, Postgres upgrades, backups | None (managed) |
| Updates | Noticed by the app; one click installs them | Manual | Managed |
| Your data | Your account; full CSV export | Your server | Their servers |
| Keeps the car asleep | Yes | Yes | Yes |
The deploy provisions the D1 database and the R2 bucket by name in your account, and the worker applies its own migrations — so the same unmodified configuration deploys into any Cloudflare account.
npm install
npx wrangler login
npx wrangler secret put ENCRYPTION_KEY # a long random string
npx wrangler secret put APP_PASSWORD # what you log in with
npm run deploy
Prefer a server? A VPS with Docker works too — one container, one SQLite file.
evbook-deploy skill and
ask it to deploy. It provisions, migrates, sets secrets and verifies — without ever
asking you to paste a secret into the chat.
The demo is the whole application against a generated world — a 2019 Model 3 that commutes and road-trips, and a 2022 Model Y on school runs and summer holidays, with seasonal weather, a fading battery and real firmware history.