Traceige FR Talk to us
Winter-maintenance telemetry

Winter service, verified.

From GPS track to billable proof — automatically.

A tracker tells you where the truck was. Traceige tells you what work was done — and can prove it, line by line, to whoever is holding the invoice.

Les Aubépines Depot Reference sortie — 17 November 2026, 03:00–03:50
  • 0telemetry points lost — through a platform outage and a duplicated batch
  • 3bad fixes rejected before they could reach an invoice
  • 1report per vehicle-day — reruns refine it, never duplicate it
The question

“Was the road actually cleared?”

It gets asked three ways. An auditor asks it of a commune's winter budget. A resident asks it at seven in the morning, standing on an unplowed street. A contractor asks it of their own invoice, hoping the answer holds up.

Raw GPS cannot answer it. It contains satellite ghosts, jitter at the depot, batches delivered twice, and three-minute gaps where the valley swallowed the signal. Feed that to an odometer and you get a number nobody can defend.

Traceige answers it.

Live demo

Watch one sortie, end to end

This is the project's reference sortie: fifty minutes of winter maintenance, deliberately imperfect. Every flaw in it is a flaw a real installation hits. Watch what the platform does with each one.

Sortie clock 03:00
  • Points accepted 0
  • Points rejected 0
  • Billable distance 0
  • Salt spread 0
  • Locality crossings 0
Les Aubépines Depot
  • Transit — blade up, no treatment
  • Working — plow and spreader active
  • Buffered on device, delivered late
  • Rejected fix
Device Acquisition Platform Spool backlog 0 KB

Your system asks for reduced motion, so the replay starts paused. Press play whenever you like.

The artifact

Everything above exists to produce this

Sortie de Service Hivernal — the report a commune can be billed against. These are the actual numbers the engine produces from the reference sortie, not a mockup. They are byte-checked in the project's test suite on every single change.

Sortie de Service HivernalWinter-service sortie report

2026-11-17
Vehicle (device)
356938035643809
Day
2026-11-17
Operations
3
Locality crossings
2
Total distance 26.30 km
Plowed 10.37 km
Salted 10.37 km
Brine 3.40 km
Salt spread 933.3 kg

609 points used 3 points rejected

Operations
TypeFrom ToDistance
Transit 03:00:00 03:09:55 5.33 km
Plow + salt 03:10:00 03:34:55 10.37 km
Transit 03:35:00 03:50:55 10.60 km
Locality crossings
LocalityEntry ExitDistance Mode
Les Aubépines 03:19:05 03:20:25 0.59 km Plow + salt
Les Aubépines 03:44:00 03:44:50 0.61 km Transit
Synthetic demo data. “Les Aubépines” is a fictional locality and the device identifier belongs to a simulator.
Why it holds up

Dirty telemetry is the design premise, not a caveat

Every row below is a way real telemetry lies, and the specific thing Traceige does about it. Each one is also a line item somebody would otherwise argue about at the end of the season.

What the data doesWhat the platform does

01The truck idles at the depot and the GPS wanders.

Zero billable kilometres. A movement threshold separates jitter from distance.

02A satellite ghost puts the truck 2.2 km off the road.

Rejected. No plow travels at 1 500 km/h — the implied-speed filter drops it.

03Fixes arrive with fewer than four satellites.

Rejected, and reported as rejected. The record shows its own uncertainty.

04The device loses signal for three minutes.

Buffered on the device, delivered late, timestamped correctly. The gap fills in.

05The ingest platform goes down mid-sortie.

Acquisition keeps acknowledging the truck and spooling to disk first. Nothing is lost.

06A batch is retransmitted after a lost acknowledgement.

Absorbed. Deduplicated on device and timestamp — twenty duplicate points, no double billing.

07The route skirts a village without entering it.

Not a crossing. Dwell-debounced at thirty seconds — no phantom crossings.

08The report is regenerated after late data arrives.

One row, refined. The engine regenerates per vehicle-day; it never appends.

None of this is asserted in a datasheet. It is exercised end to end in the reference sortie above, on every change, in continuous integration.

How it works

Five stages, one guarantee at each

No middleware, no vendor cloud in the path between the truck and the report.

01 Device

Teltonika FMC650 and compatible units, speaking genuine Codec 8 and 8E over TCP. Frames are CRC-verified before anything else happens to them.

02 Acquisition

Decode, write to a durable spool, then acknowledge the device. The acknowledgement comes after the write — never before, which is the whole of the no-loss guarantee.

03 Ingest

Forwarded at-least-once to the platform and deduplicated on arrival. Late data and retransmits are ordinary traffic here, not incidents.

04 Engine

A day of points becomes a sortie: operations split into plow, salting, mixed and transit; distance measured; salt integrated; locality crossings timed and debounced.

05 Report

SortieSH — printable for the file, JSON for your systems, and stable across reruns.

For engineers — the guarantees, precisely
Spool before acknowledge
The device is acknowledged only after the batch is fsynced to disk. A crash between the two loses the acknowledgement, not the data: the device retransmits and ingest deduplicates. This ordering is protected by a regression test that fails if it is ever reversed.
Idempotent ingest
Deduplication on (device, recorded timestamp). At-least-once delivery is the transport contract; exactly-once accounting is the observable behaviour.
Per-vehicle-day regeneration
The engine recomputes an entire day rather than appending to it, so late data and reruns refine a single row. Running it twice produces an identical report.
Bounded, crash-safe spool
Segments roll at a size limit and are deleted only once every byte in them has been forwarded. Rotation only ever creates or deletes whole files, so a crash mid-rotation is recoverable from a directory listing — no manifest to corrupt.
Poison isolation
A batch that can never parse is quarantined with its original bytes, the reason and a timestamp, and the queue behind it keeps flowing. Nothing vanishes silently; a human inspects and resubmits.
Listener hardening
TLS and per-source admission control, fail-closed on partial configuration — configure half of it and the listener refuses to start rather than quietly serving plaintext. Device provisioning is an IMEI allowlist, because the protocol authenticates by IMEI alone.
Who it's for

Three sides of the same invoice

The contractor and the commune sit on opposite sides of that invoice. That is precisely why a record both of them accept is worth building.

You have the fleet. You do not have winter.

You already run the devices, the SIMs and the tracking interface. What you do not have is winter domain logic — and acquiring it means spreader standards, dwell debouncing and billing-grade distance mathematics you would rather not own or maintain.

Traceige sits behind the fleet you already operate — Codec 8 and 8E natively, or through your own API — and returns winter-service reports you can resell as a seasonal module.

  • Works with the hardware already in the field. No device swap, no re-provisioning campaign.
  • White-label output: the report carries your brand, not ours.
  • Seasonal revenue per vehicle without building or staffing domain expertise.
  • The hard parts — loss guarantees, idempotency, noise rejection — are solved and under test already.
Talk integration

Kilometres you cannot prove are kilometres you are not paid for.

Every kilometre you plowed but cannot evidence is a kilometre you do not get paid for. And every contested invoice costs you days of administration you never billed for either.

Traceige turns the raw track off the truck into a per-day report your client accepts — because it is deliberately conservative in exactly the places a client would push back.

  • Plow, salting, mixed and transit split out — not lumped into a single odometer figure.
  • Salt consumption integrated from distance, spread width and rate.
  • Locality crossings with entry and exit times — the detail disputes actually turn on.
  • Noise never bills: depot jitter, ghost fixes and duplicated batches do not reach the invoice.
See a real report

You pay for it. You have to justify it.

You pay per kilometre or per sortie, and then you have to justify it — to an auditor, to a council, and to the resident whose street was missed at seven in the morning.

An independent record of what was actually done: which localities, at what hour, under which treatment — derived from device data rather than from a contractor's own summary.

  • Entry and exit times per locality — answers “the plow never came” directly, with a time.
  • Reruns refine the same report; the record does not quietly change shape between readings.
  • Rejected points are reported, not hidden. A record that shows its uncertainty is the one that survives audit.
  • Printable for the dossier, machine-readable for your own systems.
Request a demo
Standards and stack

Built on things that already exist

Teltonika Codec 8 / 8E

Native TCP parsing with CRC-16 verification, covered by golden-frame tests including malformed and truncated frames.

EN 15430

The spreader data standard. Where per-manufacturer channels are not available, salt is integrated by the standard's fallback formula — distance, spread width, rate.

PostGIS

Geometry, locality polygons and crossing detection in the database, rather than in application-level guesswork.

Go and Symfony 8 / PHP 8.4

Go for acquisition and protocol handling, PHP for the platform, ingest and reporting engine.

Official boundary data

Locality polygons are designed to import from official datasets — swissBOUNDARIES3D and its equivalents — so that a crossing means a legal boundary, not a hand-drawn circle.

Status

Where we actually are

This project has a standing rule: never document an aspiration as a fact. The rule applies to this page too.

Live and verified

  • Teltonika Codec 8 / 8E acquisition with CRC verification
  • Durable spool: acknowledge-after-write, segment rotation, poison quarantine
  • Idempotent ingest, deduplicated on device and timestamp
  • Processing engine: operation classification, distance, salt integration, locality crossings
  • SortieSH report — printable and as JSON
  • TLS and per-source rate limiting on the listener
  • Verified end to end against a deliberately flawed sortie, on every change

Being built now

  • Multi-tenancy and role-based access
  • Operator web interface
  • Per-manufacturer EN 15430 spreader decoders — written against real captures, never from memory of a paid standard

Not claimed

  • Weather ingestion
  • Road-condition data
  • SLA and KPI compliance scoring
  • Analytics and AI

These are on a watchlist, not a roadmap. Several of them need a licensing decision or a real contract to model against, and we would rather tell you that now than in month three.

Contact

Tell us which side of the invoice you are on

We will show you the half that matters to you — the integration surface, the report, or the audit trail.

contact@traceige.com

Or replay the reference sortie first — it answers most of the first-call questions on its own.

Back to the demo