System · Operations
SartoApp
Management app for a driver fleet — trips, attendance and roles — running in production on Docker with daily database backups.
Role
Design and development
Year
2025–2026
Context
Logistics and transport
-
Context
A fleet of drivers coordinated by phone, with trips and attendance living in the head of whoever did the scheduling.
-
Problem
With no searchable history, every question about the past became a reconstruction, and every role saw either everything or nothing.
Attendance pieced together at the end of the month.
No separation between driving, admin and oversight.
-
Idea
An internal tool only gets adopted if it's faster than the habit it replaces: start from the real roles, not from the feature list.
-
What I built
A Flask app on MySQL/MariaDB with SQLAlchemy, Flask-Login authentication and three distinct roles — admin, partner, driver — each with its own view.
PWA, so it behaves like an app on a driver's phone.
Production deployment with Docker Compose behind Caddy.
Automatic daily database backups.
-
Result
Trips and attendance become data you can look up, and operational control stops depending on who remembers what.
-
What I learned
Roles aren't a permissions detail: they're how people understand what they're supposed to do. Separating them properly cut more questions than any extra screen would have.
Stack
Flask · SQLAlchemy · MariaDB · Docker Compose · PWA