Odometer

Vehicle ownership costs, fuel logs, summaries, and mileage metrics in a local SQLite database.

updated
2026-06-29
status
Early testing
type
CLI / TUI application
role
Application author
impact
Turns car costs into visible local data instead of a spreadsheet that slowly drifts.
stack
Python / Typer / Textual / SQLModel / SQLite / Docker
license
GPL-3.0-only

Problem

Vehicle costs are easy to underestimate. Fuel is obvious, but insurance, tax, repairs, tyres, parking, finance, servicing, and other ownership costs are easy to spread across notes, receipts, and vague memory.

Spreadsheets can track the same data, but mileage, fuel economy, full-to-full fills, purchase price, running cost, and ownership cost quickly turn the sheet into an application in disguise.

Approach

Odometer is a local-first Python application with both CLI and Textual TUI interfaces. It stores data in SQLite, supports multiple vehicles, logs expenses and fuel, and calculates cost per mile, UK MPG, rolling averages, category breakdowns, and monthly or annual summaries.

The application keeps money as integer pence, normalises UK registrations, and uses service and repository layers so the CLI and TUI share the same business rules.

Result

The first v0.1.0 release is a GitHub-only testing release. It already covers the core workflow: add a vehicle, record fuel and expenses, browse summaries, and keep the data local without accounts, subscriptions, or cloud storage.