ivan@imikheev.devcv ⇩--:--:-- CET
← ~/portfolio
~/work/geofence-twin

Semantic digital twin for geofence anomaly detection

role architect · buildercontext Nebius Serverless AI Challengewhen jun 2026status shippedwriting the article ↗

Overview

Fleet telemetry tells you where a vehicle is. It rarely tells you whether that's normal. This project builds a semantic digital twin over GPS trajectory data: a hybrid model predicts where a vehicle should be next and scores deviations, while a SAREF/RDF knowledge graph makes every observation, zone, and anomaly queryable in SPARQL.

The bet: anomaly detection gets dramatically more useful when its outputs live in a knowledge graph instead of a log file — because then the question "which vehicles crossed which zones abnormally, and when" is one query, not a data-engineering project.

The system

gps telemetryenrichment jobbatch · containerizedknowledge graphsaref/rdf · sparqlinference endpointfastapi · anomaly scores

A batch job enriches raw trajectories into typed observations and writes them as RDF triples; the endpoint serves the hybrid prediction/scoring model. Everything runs as containers on Nebius serverless — the whole pipeline is reproducible from a clean account.

Results

0.8247
roc-auc, anomaly scoring
24 380
triples in the live graph
1.9 s
full batch enrichment run

How it was built

method · spec-driven-agents

Built end-to-end with my spec-driven agentic framework: strategist / implementer / operator roles, per-module guardrail files, adversarial read-only verification of every change, and a live run as the definition of done.

Read the framework →

Changelog

2026-07public write-up published — building a queryable semantic digital twin (linkedin)
2026-06-30submitted to the Physical AI track, ahead of deadline
2026-06-29live run green — endpoint, job, and graph verified from clean deploy
2026-06-24hybrid model selected over pure sequence baseline

The lesson

Digital twins earn their keep at the semantic layer. The model finds the anomaly; the graph makes it answerable. Most telemetry projects stop one layer too early.