Personal project · 2026 · public repository
car-log: maintenance that works without a connection
An offline-first vehicle maintenance PWA that keeps recording history when the network is down and reconciles when it returns.
- Angular
- TypeScript
- Laravel
- PHP
- SQLite
- Service worker
- Docker
Repository:https://github.com/alipadron/car-log
Problem
Vehicle maintenance records end up spread across paper, messages and memory. A phone app is the obvious place for them, but the moments that matter — a garage, a roadside stop, a building with no power — are exactly when connectivity is unreliable. A tracker that cannot open, or silently loses a write, is worse than the notebook it replaces.
Decisions
I made the client the source of truth for writes: records are saved locally first and queued for sync, so the app opens and works with no connection and reconciles when the network returns.
I shipped it as an installable PWA with a service worker, so it launches from the home screen and its shell loads offline.
I kept a small Laravel API as the sync target and an Angular client, with Pest and Vitest covering the domain rules on both sides.
I deployed with Docker and kept the deployment reproducible instead of relying on a hand-configured host.
Result
An installable app that opens offline, records maintenance without a connection and syncs the history when the network comes back.
The source is public: the offline model, the API and the tests can be read directly.