Predictive maintenance·any machine·any sensors

The data you already log knows what's about to break.

Every machine has a feeling of healthy. Sentys learns it.

Sentys reads the sensor history your control system already logs and tells you which pump, motor or heat exchanger is starting to drift, and which sensor saw it first. No new sensors, no failure history needed, nothing to install for the first analysis.

all senses within healthy range

30/30
unseen machines flagged before failure
59
cycles of median warning · the last fifth of a life
1
false alarm across the 30-machine fleet
6
public benchmarks · one unmodified pipeline

Kort fortalt · på dansk

Én eksport fra jeres SRO. Én rapport retur. Gratis.

Sentys læser den sensorhistorik, jeres SRO allerede logger, og fortæller jer, hvilken pumpe, motor eller veksler der er ved at skride, og hvilken sensor der så det først. Ingen nye sensorer, ingen havarihistorik, intet der skal installeres.

01 · I sender

Én maskines historik som CSV eller JSON, 6–12 måneder, gerne hen over et havari eller en reparation, I husker. 1-minuts gennemsnit er rigeligt. Gensidig NDA først, klar til underskrift.

02 · I får

Inden for en uge en skriftlig rapport: hvad der skred, hvilken sensor så det først, og om jeres seneste havari havde varsel i data. Alle forbehold står med samme skriftstørrelse som fundene.

03 · Det koster

Ingenting. Én maskine, ingen forpligtelser. Hvis rapporten fortjener det, er næste skridt et betalt pilotforløb på tre måneder med faste succeskriterier. En separat beslutning.

Ærligt talt

Sentys har endnu ikke analyseret et fjernvarmeværk. Det er præcis det, den gratis første analyse er til. Og for en god ordens skyld: jeg er ikke dansker. Jeg bor i København og arbejder på engelsk, så resten af siden er på engelsk. Skriv gerne på dansk, så svarer jeg på engelsk: frixos@sentys.ai.

What it is

Built to fit the plant you already have

Sentys works with the sensor data your control system is already logging, needs no failure history to learn from, and replaces nothing you run today.

Learns healthy · flags drift

A baseline per machine, from its own history

It learns what healthy looks like from your machine's own history, including its different running modes (winter load, summer load), so a change of mode is not mistaken for a fault. Two identical pumps are not identical to Sentys: each gets its own healthy. It doesn't need failure labels; most sites don't have any.

Instead of an anomaly score, the output reads like triage: “Vibration: 3.2× healthy baseline; temperature and flow within range.”

Sensor-agnostic

Any tags your system logs

Temperatures, pressures, flow, current or vibration, exported from your control system (SCADA or SRO), its history database, or a plain spreadsheet. A new sensor type is a settings change, not new software.

European exports parse natively: semicolons, decimal commas, your column names in your language. CSV or JSON, straight from the system you have.

Status · September 2026

Where it stands today

Today: an export is enough. Send one machine's history, get a written analysis back, with zero integration on your side.

A pilot: the same system runs on one ordinary server at your plant, read-only, on your exports or a live feed. Your data never leaves the building.

Not built yet: live connections to the standard industrial data buses (OPC-UA, Modbus) and hardened remote access. Pilot-stage work, done together. The first analysis needs none of it.

Fig. 01 · what Sentys listens to

Machines that can feel something is wrong.

Sentys reads a machine's sensors in four groups, the way an engineer reads it by ear, by hand and by gauge: rotation, thermal, pressure, flow. We call them senses. All four converge on one learned baseline, the machine's own healthy.

PLATE I. — CENTRIFUGAL PUMP,
four senses, one baseline.
a. rotation   b. thermal   c. pressure   d. flow
Sentys (learned baseline)
Holographic wireframe cross-section of a centrifugal pump, its four sensor groups converging on a glowing node labeled Sentys.

live readout · all senses within healthy range

Why this matters

Alarms watch one gauge at a time

The alarms in your control room are lines drawn on single gauges: fire when a temperature passes a set point, when a pressure drops below one. Drawn loose, the line is crossed late, when the damage is done. Drawn tight, it fires so often that people stop looking. Neither sees the way machines actually fail: slowly, on several gauges at once, each still inside its line.

Servicing on a calendar doesn't close the gap either. It replaces healthy parts and still gets surprised by the one machine that fails early. Sentys learns what all of a machine's gauges look like together when it is healthy, and reports how far they have drifted from that, gauge by gauge. It sits beside your alarms and replaces none of them.

Checked against the product pages of the Danish SRO integrators (Coseno, DME) and IGSS: condition monitoring there means threshold and template alarms on single tags. None of them learns what normal looks like for a machine.

The proof, lived once

One machine's life

NASA C-MAPSS · UNIT 03 · CYCLE 0 / 179
skip to the result ▾
thermal 1.0×
pressure 1.0×
rotation 1.0×
flow 1.0×
Real model output · never seen in training

179 cycles of sensor data, scored by Sentys exactly as you see it here. Scroll to live this machine's whole life.

Learning

The model learned what healthy feels like from 70 other engines. It has never seen this one, and it was never shown a failure label.

Quiet

122 cycles of nominal. Four senses, all reading near 1× healthy. This is most of a machine's life, and Sentys stays silent through it. Across the whole 30-engine fleet, one engine false-alarmed.

First warning · cycle 123

The rotation sense crosses the line at 3.7× healthy. Thermal reads 0.9×, pressure 1.0×, flow 1.3×. Still asleep.

What the report says

“Rotation: 4.4× healthy baseline (warning). Thermal, flow, pressure within range. Recommend: schedule an inspection.”

Copied from the live demo's triage panel for this engine.

Failure · cycle 179

56 cycles between the first warning and the failure.

Time enough to schedule the fix. Watch the whole fleet ↓

LIVE · model output on 30 unseen engines, not a mock-up

Now all thirty at once

The same fleet Engine 03 lives in, run to failure together. Every tile climbs green → amber → red as its machine degrades; click any engine for its per-sensor triage. Trained only on healthy operation of 70 other machines.

Unit 03 is pre-selected: the life you just scrolled through, playing in fleet context.

Open full-screen ↗

Evidence, translated

Tested on six public datasets, published in full

Most predictive-maintenance tools need a catalogue of past failures to learn from, the one thing a well-run plant rarely has. Sentys learns the shape of healthy operation instead. Whether that works is a question for held-out data, so here is all of it:

Six public datasets covering four machine classes, run through one unmodified pipeline, trained on healthy data only every time. Outcomes in plain terms first; the technical numbers sit in the small print for your advisor.

30/30flagged before failure

Turbofan engines · NASA C-MAPSS

Every one of 30 engines the model had never seen was flagged before it failed, with a median of 59 operating cycles of warning. With alarm thresholds set from healthy data alone, one engine in the fleet false-alarmed.

For your advisor: on engines it had never seen, it ranks a failing engine above a healthy one 99.6% of the time (AUC 0.996), and its ranking tracks remaining life at 0.762 out of 1.0 (Spearman ρ). On the harder set with six operating conditions (FD002): AUC 0.95, ρ 0.615, with no tuning for the conditions.
75 hof warning on the first rig

Bearing vibration · NASA IMS

On run-to-failure rigs, the bearing that actually failed was ranked strongest-trending and loudest, flagged 75 hours before end of run on one rig and ~470 on the other. The spectral sense fired first, reproducing known bearing-defect physics with zero labels.

Limits, stated: bearings on the same shaft also rise late in the run (the ranked view still picks the right one by 2–3×), and a healthy baseline learned on one installation doesn't transfer to another. Each machine gets its own, which is the deployment protocol anyway.
±0.03of the specialist audio tool's score (AUC)

Industrial pump audio · MIMII / DCASE

On four physically different pumps in factory noise, the same pipeline, with zero audio-specific engineering, landed within 0.03 average AUC of the purpose-built DCASE audio baseline, beating it outright on two of the four.

For your advisor: average AUC 0.687 against 0.715 for the purpose-built baseline (AUC = how often a faulty pump is ranked above a healthy one; 1.0 is perfect). Also measured: a brand-new pump gets useful day-one coverage from its fleet-mates' shared model (AUC 0.60 unseen); its own baseline lifts that to 0.69. Cold-start from the fleet, precision from the fine-tune.
The other three: a CNC pass and the two bearing tests we failed, with the numbers
PHM 2010 · CNC tool wearGATE PASS

Raw 50 kHz data from a physical CNC rig: the same pipeline tracked a measured tool-wear curve on 3 unseen cutters and alarmed on all three with zero false alarms, at 46–62% of end-of-life wear.

For your advisor: the signal tracked measured wear at 0.972 / 0.975 / 0.955 out of 1.0 (Spearman ρ) · AUC 1.000 · pass marks set before the run.

FEMTO · bearing run-to-failureBAR MISSED — PUBLISHED

Detection worked: 10 of 11 unseen bearings flagged, one false alarm in healthy windows, and the rig's operating conditions were found without being told. One of our own pass marks, set before the run, was missed (a pooled score of AUC 0.665 against a higher bar we had set), so the run is reported as a fail, with the number.

XJTU-SY · bearing run-to-failureBAR MISSED — PUBLISHED

Detection worked here too: 9 of 9 unseen bearings flagged, one false alarm, with no labels of any kind. The same pooled score missed our bar (AUC 0.659). Published as measured.

We kill our own metrics before a skeptic can. Every benchmark ran against a pre-registered gate. Two of six missed a bar; both are published with the number that missed, and your data would be held to the same standard.

“How much warning do I actually get?”

On the turbofan benchmark, the median first warning came 59 cycles before failure, roughly the last fifth of the machine's life; on the bearing rigs, days to weeks. What Sentys does not do yet is date the failure. It ranks which machine is drifting and shows which sensor saw it first, so you inspect the right asset while there is still time to schedule the work. “Fails in 12 days” is a claim we can't prove yet, so we don't make it. The number we watch hardest is false alarms: a tool that cries wolf gets switched off, and then it catches nothing.

The deliverable

This is what you get back

One self-contained report, readable by an operations lead and forwardable to the board. No dashboard login, no deck to sit through. On a pilot, the same pipeline adds a one-page weekly fleet report that ranks which machines need attention (read a real one).

  • Health-over-life chart for every machine in the data, with the warning point marked
  • Which sensor group saw the drift first, and how far from healthy it moved
  • Findings in plain language, every caveat in the same font size, including “nothing found” if that is the truth
  • Every number read mechanically from the run's artifacts: no hand-tuning, no cherry-picking
Open the sample report

Generated from the NASA turbofan analysis run, by the same report generator your export goes through.

Where it fits

Any machine that hums, pumps, spins, or heats

Across Europe, the pattern is the same: the control system logs everything, and nobody reads the history. Sentys reads it. The machine classes it has been benchmarked on (pumps, bearings, turbomachinery, cutting tools) sit at the heart of every one of these.

District energy & utilities

The plant that keeps a town warm

Circulation pumps, heat exchangers, boilers, running unattended most hours of the year, where a failed pump in January means a cold town. Your control room already logs years of history at minute resolution.

Sentys has never seen a district-heating plant; that's what the free first analysis is for.

Water & wastewater

Pump stations, around the clock

Submersible and dry-well pumps, blowers, screens: the benchmarked machine classes, almost exactly. Drift in current draw or vibration shows up in the history long before the alarm bank knows anything is wrong.

Manufacturing & process

The compressor nobody thinks about

Compressors, fans, conveyors, CIP pumps: the machines that stop a line when they stop. One export per machine is enough to find out whether your last breakdown had warning in the data; usually it did.

General arrangement · who's behind Sentys

Frixos Andreou

Frixos Andreou

integration & full-stack engineer · robotics background · based in Copenhagen, Denmark, working across Europe

Day job: integration engineer, five-plus years connecting enterprise systems that were never designed to talk to each other. Odd formats, decimal commas and half-documented exports are the normal case, not a problem.

Sentys started in my living room: a robot that learned the feel of its own motors and sensors from experience, with no labels, and noticed when something was off. The same question — does this machine feel like itself today? — turned out to matter far more for a pump that keeps a town warm than for a robot. So that's where I've pointed it. The benchmarks above are that one idea, run against six public datasets in a row.

The home-built robot on a desk in Copenhagen: four yellow mecanum wheels, a black sensor housing, a controller board and a lot of wires, a monitor and a speaker blurred behind it
the first patient. Copenhagen, September 2026.

The ask · all of it

Send one export. Get a real answer.

Everything that saying yes commits you to fits on one sheet. This is that sheet.

SENTYS The whole ask · one page · 2026

We sign an NDA first.

You get a ready-to-sign mutual NDA before any data moves.

You export one problem machine's history.

The five-line spec is below: CSV or JSON, straight out of your control system. Twenty minutes, no project.

Within a week you get the report.

What drifted, which sensor saw it first, and whether your last breakdown had warning in the data. Free. One machine, no strings. Worst case, you've lost an hour.

That's it.

If the report earns it, the next conversation is a paid three-month pilot: fixed price, written success criteria, up to 20 machines. A separate decision, made on the evidence in your hands.

The data spec — five lines, in full

  1. One machine you care about: a pump, a heat exchanger, a motor.
  2. All its logged tags: temperatures, pressures, flow, current, vibration, speed.
  3. 1-minute averages are plenty; hourly still works.
  4. 6–12 months of history, ideally spanning a breakdown or repair you remember.
  5. CSV or JSON, any delimiter; semicolons and decimal commas are fine.
Claude drafts · Code decides

The AI that can't make numbers up

The prose in your report is written by Claude; the numbers never are. Every figure is computed by the pipeline and checked against the run's own evidence before the report goes out. And no action is taken on a machine without your engineer signing off.

How your data is handled

  • Processed on a single machine in Denmark. Your raw data is never uploaded to any public cloud; if you prefer a hosted setup, a dedicated European server (Hetzner) is available on request.
  • Read-only, no control path. Sentys reads sensor data and never touches your controls. For a utility under NIS2, that keeps it out of the critical path.
  • Stated up front: to work out what each column is, Sentys sends column names, per-column statistics and a handful of sample values to an AI service, never your bulk data. If even that is too much, say so and it's done by hand.
  • Used for your analysis only. Never used to train models for anyone else. Deleted when you say so, confirmed in writing.

frixos@sentys.ai

Email me. I'll reply within 48 hours.