Giuseppe Villella
← All projects
FILE ECO · waste managementComplete · 98 tests

EcoCity

Published

Problem
In waste collection, many steps are still done by hand on every shift: mileage is written down on paper, damage is reported on a sheet handed to the mechanics, and mechanics have to tell people when a truck is out of service or ready again. Information gets lost between shifts, nobody is clearly responsible for a truck left full, and fuel shortfalls are hard to spot.
Solution
A web platform that digitizes and speeds up these steps on every shift: QR code check-in with mileage, reports that reach the workshop immediately, vehicle status updated by the mechanics, consumption and cost analysis. Every event is tied to the person who created it and can't be edited or deleted, not even by an administrator.
Status
Complete and already deployed to a production environment with demo data. Built for waste management and logistics companies, and ready to be adapted to a specific organization.

Traceability by design

Every business event (check-in, check-out, refuelling, trip, alert) inherits from a hierarchy of models that blocks deletion and, where needed, editing too. No employee, administrators included, can rewrite history.

The anti-fraud algorithm

Each vehicle’s real fuel consumption is calculated over the window between two refuellings, using the tank level declared after every fill-up. The deviation from nominal consumption raises an alert ranked by severity: critical cases are emailed immediately, medium and high ones go into a daily digest, and low ones stay visible on the dashboard only, to avoid noise.

Built for field work

Two-step login from a smartphone, a dark interface that stays readable in poor light, and forms that stay saved on the phone until the connection comes back, whatever the shift.

Demo data

The screenshots show a test environment: names, plates, mileage, consumption and costs are all fictitious.

Screenshots

Choices I corrected along the way

How I work with AI →
CASE 01

The reporter isn't the culprit

At first
I had planned to record the operator who reported a truck found full as the person responsible for it.
What I noticed
That way, whoever honestly reported the problem would have taken the blame. The result would have been that nobody would have reported anything anymore.
What I decided
I separated the reporter from whoever left the truck full on the previous shift: both are visible only to supervisors, and new reports require a photo as proof.
CASE 02

The tank is never empty

At first
I calculated each vehicle's fuel consumption by comparing kilometres driven and litres refuelled on the same shift.
What I noticed
That calculation assumes an empty tank before every refuel. Anyone who drives these trucks knows that almost never happens, so the algorithm would have flagged anomalies that didn't exist.
What I decided
I moved the calculation to the window between any two refuels, with the operator declaring the tank level after each fill-up.
CASE 03

Five litres nobody saw

At first
I had set an alert to fire only when consumption deviated from the standard by more than 20%.
What I noticed
A small theft during a shift, say 5 litres out of a roughly 38-litre fill, is about 13%. A small but real shortfall would have gone unnoticed.
What I decided
I added a "Low" severity level between 10% and 20%, shown on the dashboard but with no emails, so it's visible without flooding the people who review alerts.

Shortcuts, for keyboard people (that's you)

g p
Projects
g m
How I work
g c
Contact
t
Switch theme
l
Switch language
?
This panel

The code is from 1986. The truck is mine.

J.A.R.V.I.S.

Hello. I'm J.A.R.V.I.S., Mr. Villella's assistant. Ask me about his projects.

Questions are not stored.