WhatsApp
Tecifo Solutions logo: orange hexagon cube with blue hexagon dotsTecifo.Book a call
← All work
IoTprivate client

ATG System

Automatic tank gauging and fuel-station operations platform, with real-time dashboards for tank levels, dispensers, transactions and sales.

Sector
Fuel retail / IoT
Engagement
Build — operations platform
Timeline
Jan 2024 → Oct 2024
Team
1 backend engineer, 1 full-stack engineer
01 — The problem

A fuel retailer was reconciling tank levels by hand, a day late, across sites that had no reliable internet.

Station managers dipped tanks manually and typed the readings into a spreadsheet each evening. Head office compared those figures against dispenser totals the following day, which meant a leak, a miscalibrated pump or a theft was discovered a full shift after it happened. Losses were noticed at month end, if at all.

Two constraints shaped everything. Sites lost connectivity regularly, so a browser-only dashboard was not viable — the station needed to keep working offline. And the gauge hardware in the field was mixed, with several vendors and no common data format.

02 — How we solved it

What we built, and why in that order

01
One telemetry pipeline
Gauges and dispensers publish over MQTT into AWS IoT, normalised at the edge into a single reading format so mixed hardware looks identical downstream. New device types are a mapping, not a rewrite.
02
Desktop app for the station
The Next.js dashboard is packaged with Tauri and runs locally at each site. It buffers readings while the connection is down and reconciles on reconnect, so the forecourt never depends on the WAN.
03
Real-time operations views
Tank levels, dispenser state, transactions and sales in one screen, with variance between dispensed volume and tank drop surfaced continuously instead of computed nightly.
04
Reporting on Postgres
Transactions and readings land in PostgreSQL with the reports finance was already producing by hand — shift, site and period — generated directly from device data.
StackNext.jsTauriMQTTAWS IoTPostgreSQL
Outcome
24h → 30s
Detection lag on volume variance
100%
Station uptime during WAN outages
3
Gauge vendors on one data format
~6 hrs
Manual reconciliation removed per week, per site
We used to find problems at month end. Now we find them during the shift, which is the only time you can do anything about them.
Operations director, fuel retail client
03 — Where they are now

The platform runs across the retailer's network and reconciliation is no longer a manual task.

Our role: Platform and telemetry engineering

Variance alerts now reach head office within the shift they occur in, and the first month of live operation identified a miscalibrated dispenser that had been under-recording for an unknown period. Manual dipping continues weekly as a calibration check rather than as the source of record.

The retailer has rolled the system out to additional sites on the same edge configuration and is scoping delivery scheduling from the same telemetry — using consumption curves to time refills instead of fixed weekly drops. We support the pipeline and advise on the forecasting work.

Next case studySchool ERP on FrappeERPSimilar problem?Start a projectinfo@tecifo.com

Have something that needs to ship?

Scope agreed in writing, architecture first, weekly increments you can review. Start with a 30-minute call or send the brief.