Predictive maintenance·any machine·any sensors

Every machine has a feeling of healthy.

Sentys learns that feeling from the sensor history you already log. No failure labels, no data-science project on your side. It tells you, in plain language, which machine is drifting and which sensor felt it first.

all senses within healthy range

30/30
unseen engines flagged before failure
59
operating cycles of median warning
1
false-alarm engine across the fleet
6
public benchmarks · one unmodified pipeline

Fig. 01 · the missing organ

Machines that can feel something is wrong.

Sentys is a nervous system for industrial equipment. Four senses converge on a learned baseline: the organ that remembers what healthy feels like.

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

afferent pathways — all senses within healthy range

Why this matters

Most plants still run without this sense

Reacting to breakdowns instead of anticipating them is still the norm across northwest Europe, and that norm carries a real cost. This is the problem Sentys exists to close.

17%have any predictive maintenance

Running blind is the rule: about 8 in 10 plants still do it

Across Belgium, Germany, the Netherlands and Norway, only about 17% of industrial companies have adopted predictive maintenance. If you're still reacting to breakdowns, you're in the majority, which is part of why it stays so costly.

PwC/Mainnovation, 2023 predictive-maintenance survey (BE/DE/NL/NO). Roughly double the 2018 level, still a small minority.
$36kper hour of downtime · low end

And the stoppages you don't see coming are the expensive ones

For large manufacturers, a single hour of unplanned downtime starts around $36,000 and climbs steeply from there. Your exact number depends on your plant, but the direction is never in your favour.

Siemens, True Cost of Downtime 2024. $36k/hr is the bottom of the surveyed range (consumer goods); heavy industry and automotive run far higher.

What it is

Built to fit the plant you already have

No labeled failure history. No data-science team. No rip-and-replace. Sentys works with the sensor data your control system is already logging.

Learns healthy · flags drift

A baseline per machine, from its own history

It trains on your machine's own healthy operation and reports degradation as a rising deviation from that baseline, decomposed per sensor. No failure labels needed, because at most sites they don't exist.

The answer is triage language, not an anomaly score: “Vibration: 3.2× healthy baseline; temperature and flow within range.”

Sensor-agnostic

Any tags your system logs

Temperatures, pressures, flow, current, vibration: it doesn't care. From a SCADA export, a historian, or a plain spreadsheet. New sensor types are configuration, not code. Built by an integration engineer, so the data problem is solved first.

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

Status · honest

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 pipeline runs on-prem (Docker, no GPU) reading your exports or a live stream; your data never leaves the plant.

Not built yet: OPC-UA/Modbus connectors and hardened remote access. That's pilot-stage work we do together. We'd rather tell you now than surprise you later.

The proof, lived once

One engine'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 real 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. No failure labels, anywhere.

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: one false-alarm engine across the whole 30-engine fleet.

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. One sense felt it first, and said which.

The system speaks

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

Verbatim: 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 instead of surviving the surprise. Now watch all thirty at once ↓

LIVE — real 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 ↗

From signal to action

The drift becomes a work order, drafted for you

A rising trace is not an answer. Sentys's agents turn it into one: drafted by AI, grounded in your data, approved by your engineer. Every artifact below is real output from the pipeline, verbatim.

01 · PERCEIVE

The model listens

Every sensor stream is compared to that machine's own learned normal, every moment. Drift is reported per sense (rotation, temperature, flow) as a ratio to healthy.

02 · TRIAGE · DRAFTED BY AN AGENT

A work order, not a chart

WORK ORDER (DRAFT) — Inspect rotation subsystem on unit 100
severityescalate · confidence 0.6
dominant senserotation · 1.56× healthy
nearest prior caseunit 88 · kept degrading

Schedule a rotation-domain inspection (bearing/shaft/rotor balance and vibration diagnostics) on unit 100 … compare findings against the near-identical prior unit 88 that continued degrading.”

Draft for your engineer to review: the tool proposes, your team approves. No automatic derate or shutdown.

Verbatim excerpt: benchmark unit 100, drafted by the triage agent (Claude), including its own stated caveats.

03 · THE WEEK AHEAD

A fleet report every week

Which machines need attention this week, ranked. The ranking is computed by code, never decided by the model. Claude writes the prose around it; a mechanical check rejects any draft citing a number that isn't in the evidence.

You read one page, not thirty dashboards. Read a real one ↗

Verbatim: the benchmark fleet viewed mid-life (cycle 120), 7 act-now · 10 watch · 13 healthy. Drafted by the copilot (Claude), grounding-checked, rendered by code. Still stamped DRAFT: no report ships without a human.

Grounded or rejected: every number an agent writes is checked mechanically against the evidence it was given. A draft that cites anything the data doesn't support is rejected and redrafted. And nothing acts on a machine without a human signing off.

Codecomputes every number
Claudewrites the prose around them
A mechanical checkrejects any unbacked number
Your engineersigns off before anything acts

The agents run on Claude, and the division of labor is the point: language from a model, numbers from code, authority from a person.

Evidence, translated

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

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. Which leaves one honest question, answered here on data it had never seen:

Six public benchmark datasets, four machine classes, one unmodified pipeline, trained on healthy data only, every time. Plain-language outcomes first; the technical numbers sit in the small print for your advisor. And where a pre-registered gate missed its bar, the result is published, not hidden.

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.

holdout: Spearman ρ = 0.762, AUC = 0.996 (FD001); ρ = 0.615, AUC = 0.95 on the six-regime FD002 subset, no regime-aware tuning.
75 hwarning, and physics for free

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.

honest limits: same-shaft neighbours also elevate late (the ranked view still picks the right bearing by 2–3×); healthy baselines don't transfer across installations. Each gets its own, which is the deployment protocol anyway.
±0.03AUC of the specialist tool

Industrial pump audio · MIMII / DCASE

On four physically different real 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.

avg AUC 0.687 vs 0.715. also measured: a brand-new pump gets useful day-one coverage from its fleet-mates' shared model (0.60 AUC unseen); its own baseline lifts that to 0.69: cold-start from the fleet, precision from the fine-tune.
PHM 2010 · CNC tool wearGATE PASS

Raw 50 kHz data from a real machine: the shipping scorer tracked a measured flank-wear curve on 3 unseen cutters and alarmed on all three with zero false alarms, at 46–62% of terminal wear.

ρ(surprise, wear) = 0.972 / 0.975 / 0.955 · AUC 1.000 · pre-registered.

FEMTO · bearing run-to-failureBAR MISSED — PUBLISHED

Detection worked: 10 of 11 unseen bearings, one false alarm in healthy windows, operating conditions discovered unsupervised. One pooled metric missed its pre-registered bar (AUC 0.665), so the run is reported as a fail, with the number, in full.

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

Detection worked here too: 9 of 9 unseen bearings, one false alarm, with a label-free onset detector. The same pooled metric missed its bar (AUC 0.659). Published as measured, not argued with.

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

“How much warning do I actually get?”

The honest answer: 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's still time to schedule it. It doesn't output “fails in 12 days” — and we won't claim it does until we can prove it.

The deliverable

This is what you get back

Not a dashboard login. Not a sales deck. One self-contained report, readable by an operations lead and forwardable to the board.

  • 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, with every caveat stated in the same font size
  • Every number read mechanically from the run's artifacts: no hand-tuning, no cherry-picking
Open the sample report

Generated from a real analysis run of the NASA turbofan data, 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.

The room this is built for: circulation pumps running unattended, logged every minute, read by no one. (Illustration, motion included.)
District energy & utilities

The plant that keeps a town warm

Circulation pumps, heat exchangers, boilers, running unattended most hours of the year, where a pump failure in January is not a ticket, it's a cold town. Your control room already logs years of history at minute resolution.

Sentys has never seen a district-heating plant — which is exactly why the first analysis is free.

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.

Robots & mobile fleets

Where Sentys was born

The pipeline started life as the nervous system of a real robot, learning the feel of its own motors and sensors and flagging what didn't feel right. Fleet predictive maintenance for robotics is where it's headed next; industrial plants are where it proves itself first.

General arrangement · who's behind Sentys

Frixos Andreou

Frixos Andreou

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

Generalist by design: AI solutions, integration architecture, end-to-end data flow. Five-plus years connecting enterprise systems, and lately two full backend platforms shipped at work. Easy to talk to, and I present well: to engineers, and to the people who sign.

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 what it does now. The benchmarks above are that one idea, tested honestly, six datasets in a row.

A small home-built wheeled robot on a living-room floor, lit by a single lamp
the first patient. (Illustration.)

The ask — all of it

Send one export. Get a real answer.

Everything 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.

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 a mechanical check compares each claim in the draft against the run's own evidence. A draft citing a number the data doesn't support crashes the run: it is redrafted or refused, never sent. 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.
  • Stated up front: schema inference sends column names, per-column statistics, and a handful of sample values to an AI API, 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.