Nexus platform

Every number, with its reading time.

Most industrial dashboards show you a number and hope you don't ask how old it is. Nexus shows the reading, its age, and how much of the period was actually observed — on every tile. There is no sample tenant on this page: the console only ever renders readings your own integrations delivered, so the way to see it is on your own data.

See it on your own readings

We do not publish a sample tenant.

A console populated with invented readings proves nothing about what yours would show. Instead we connect one gateway or one JSON API on a single site, and you look at your own plant in the live console — figures, gaps and all — before anything is signed for the rest of the estate.

Client sign-inA 30-minute call on your site and your tags. No obligation, no card.
In depth

Build it yourself — dashboards, charts and reports.

The three things clients spend the most time in, and the rule each one obeys about where its figures come from.

Your own dashboards

Boards belong to the person who built them. Add, remove and arrange widgets without touching anyone else's view, then share a board with a team when it earns it.

  • Widget kinds: charts, KPI tiles, gauges, tables, energy flow and site maps.
  • Per-user boards, optional team boards, one pinned as the tenant landing screen.
  • Every widget renders its reading time and coverage grade on its face.
  • Scheduled PDF or CSV delivery of any board, in SAST.

Boards are saved per user and survive sign-out. Nothing on a board is drawn from anything other than readings your own integrations delivered.

Custom charts from any tag

Every tag that has ever arrived is auto-registered in the metric catalogue with its device, unit, expected interval and behaviour class. Search it, chart it, overlay it.

  • Up to eight series per chart, dual axes, line / area / bar / stacked.
  • Counters are differenced across the boundary; continuous metrics are integrated.
  • Gaps are drawn as gaps — no interpolation across an unobserved window.
  • Save as a widget, export to CSV, or attach the window to a support ticket.

The catalogue only contains tags that have actually arrived. A tag you have not sent cannot be charted, and no series is back-filled to make a chart look complete.

AI reporting that shows its work

Ask in plain language. The analyst reads the historian, the tariff schedule, the alarm trail and the coverage grades, then answers with the evidence it used listed underneath.

  • Monthly performance packs, alarm root-cause narratives and cost commentary.
  • Refuses to answer across a coverage gap — it names the gap instead.
  • Quotes rands on the tariff that applied at the time, not today's rate.
  • Output is reviewable and editable before it leaves the tenant.

The analyst writes only against your own readings, and lists the rows it used. Where the period was not observed, it says so instead of writing a number.

Modules

One console, granted module by module.

Each client tenant is granted only the modules it needs. Nothing is bundled to inflate a licence, and nothing appears in the sidebar that the tenant cannot use.

Live telemetry & historian

Tags from PLC, SCADA, MQTT or HTTP land in one historian with per-metric expected intervals — so silence is measured, not assumed.

Energy & renewables

Generation, load, PV self-consumption and performance ratio, with energy flow decided by measured power sign rather than guesswork.

Cost & shadow billing

Eskom Megaflex and Ruraflex 2026/27 line items, time-of-use, utilised capacity and diesel spend priced at the time it burned.

Alarms & notifications

Hysteresis, occurrence trails, dispositions and escalation. Email and WhatsApp, opt-in by default, rendered in SAST.

Data health

Ingest gaps, rollup coverage, cron outcomes and sentinel exclusion — the screen that tells you when not to trust a number.

Documents & compliance

Drawings, certificates, COCs, calibration records and audit trails, held against the asset they belong to.

Data path

From a radar gauge on a tank to a laptop on a beach.

No black box. Press play and follow one tank-level reading the whole way: what it is at each hop, what changes, and what the platform does when that hop misbehaves. Click any stage to stop there. The scene is a labelled illustration — the payloads shown are worked examples, not live readings from anyone's plant.

InstrumentControlEdgeThe linkIngestHistorianYour screen
01 · Instrument — TK-101, product storage

Radar gauge on the tank

A non-contact radar head on the tank roof times a microwave pulse to the liquid surface and drives a 4–20 mA loop. Alongside it on the line, a flow transmitter does the same for the pipeline. Neither knows what a dashboard is — they produce a current, and that is all.

What goes wrong here. A radar that freezes on its last good echo still sends a perfectly healthy 14.70 mA. That is why the platform never trusts a value's existence as proof of life — it watches the reading time.

The reading at this point
loop current   14.70 mA
range 0–10 m   → 6.42 m
instrument class Class 1

Illustration. This is an example payload for one tank on one fictional site — not a measurement from your plant, and not a latency claim. The transformations, the two clocks and the refusals shown are how the product actually behaves.

1 · At the plant

PLC, inverter, meter or gateway. Existing hardware wherever possible — we read what is already there before proposing anything new.

2 · Over the link

MQTT over TLS from a site bridge, or a universal HTTP fetch integration you configure yourself for any JSON API.

3 · Into the historian

Deduplicated on message id, stamped with a reading time, auto-registered into the metric catalogue with an expected interval.

4 · On your screen

Row-level tenant isolation, second-factor sign-in for privileged accounts, and every figure carrying its own coverage grade.

The rule we build to

No number without its reading time.

It sounds small. It is the difference between a dashboard you glance at and a record you can put in front of an auditor, a financier or an insurer. Every widget in Nexus carries the instant it was read, how old that is, and how much of the period was observed well enough to integrate. A period we could not observe stores no value at all — and says why.

How we secure it
  • Reading time and age on every tile, chart and export.
  • Coverage grade — full, partial, below floor, or 'not gradeable'.
  • Declared pauses instead of invented alarms when a feed is deliberately off.
  • Withheld figures where the period was not observed enough to integrate.
  • Reports and notifications rendered in SAST; storage stays UTC.
Straight answers

The four questions everyone asks.

Can I see it with my own data?

Yes — a scoping call, then a pilot on one site. We connect a single gateway or API and you look at your own readings inside a week, before anything is signed for the full estate.

What if a sensor stops reporting?

The tile stops claiming a number. Silence is either a declared pause with a reopen date, or a finding with an owner. It is never a stale figure presented as current.

Do I have to replace my SCADA?

No. Nexus sits alongside it and reads from it. Where a migration is genuinely warranted, that is an engineering project we scope separately — not a licence upsell.

Where does the data live?

Encrypted at rest and in transit, tenant-isolated at the database row level, with audited sub-processors. The full posture is on the Security page.

Next step

Put one of your own sites on the screen.

Tell us what you have on site and what you need to prove. We come back with the tag list we would read first and what it would take to get it live.

Contact us