Aépio · test benches · In production
Data that couldn't be lost on a network that keeps going down
Integrated 6 meter test benches with the central server, with automatic retry and a single data contract.
Context
Every gas meter produced is tested on one of 6 benches. Results had to reach the central server, where the final approval check runs. Before, the Quality team spent about 1 hour a day extracting this data, once a day.
Constraints
- The factory network goes down often. A lost test means a meter without traceability.
- Each bench sent data in a different format.
- 15k+ meters a month, without stopping production.
Decisions and trade-offs
- Store and forward. Every payload is written locally before leaving the bench and only discarded after the server confirms it. I traded simplicity for guaranteed delivery, because losing test data is not acceptable.
- A single data contract. Instead of the server understanding 6 formats, I standardized sending at the source. The server stays simple and a new bench only has to follow the contract.
- Real time instead of a daily batch. The approval check now runs on fresh data, not the next day.
Result
Test data for 15k+ meters a month arriving in real time, with no loss when the network drops, and no more daily manual extraction for the Quality team.
What I’d do differently
Add health metrics for the integration from day one (local queue size, time to confirmation) to spot network problems before anyone notices.
Stack