Night-side Earth seen from above the Indian Ocean, with city lights, intercontinental arcs and a highlighted digital-twin hub over Singapore.
NO
Node Graph entities and vertices
DA
Data Properties, labels and ontology
V
Visualization Live 3D Atlas and spatial representations
X
eXtended Intelligence Agentic AI, graph reasoning and digital twins

Spatial Intelligence Platform

Connect Everything.
Understand Anything.

From nodes and data to a living, intelligent world.

NODAVX turns complex, connected records into an immersive 3D intelligence you can question — revealing relationships, shortfalls and options across the real and the digital world.

Dubai Mumbai Beijing Tokyo Sydney Singapore

Measured on this machine

584

Entities

commercial pack · 615 in defense

1,507

Relationships

commercial pack · 1,502 in defense · 3,009 across both

81

Evidence artefacts

commercial pack · 97 in defense

2

Segment packs

defense + commercial, one contract

0

Cloud calls

inference stays on this Mac

88 ms

Graph query p50

measured 2026-10-17 · p95 101 ms

Six surfaces, one store

Each letter is a working surface, not a marketing pillar

The names come from the acronym. What is underneath them is one SurrealDB that is the only authority for state, and one snapshot contract that every surface reads from.

Vertex

Entities and objects

Every vessel, berth, depot, order line and component is one record with a type, an owner and a workspace. The commercial pack alone holds 584 of them, and the graph only ever renders what the filter actually matched.

PEOPLEPLACESASSETS

Edge

Relationships and flow

Relations are stored as native record links, not foreign-key guesses, so a traversal is one query. 1,507 of them in the commercial pack and 1,502 in defense, each with a cardinality rule and a validation class.

FLOWINFLUENCESUPPLY

Meta

Labels, properties and semantics

The ontology is data, not a diagram. Object types, link types and their constraints are queryable, editable in Ontology Studio, and rejected when a new link would break a declared rule.

ONTOLOGYSCHEMACONTEXT

Atlas

Interactive 3D visualization

React Three Fiber plus d3-force-3d in a Web Worker, so layout never blocks the frame clock. One snapshot contract feeds the atlas, the table and the inspector — they cannot disagree.

REAL-TIMEMULTI-LAYERSPATIAL

Reason

Agentic AI and graph inference

The copilot answers from retrieved records and prints the citations it used. Each citation selects an object; one more click re-scopes the atlas to exactly the supporting graph.

INSIGHTSPATTERNSPREDICT

Twin

Digital twins and simulation

Branch the store, patch it, and compare the branch against reality before you commit. Committed actions run through a reviewed preview path with an idempotency key and a journal cursor.

WHAT-IFSCENARIOSACTION

How a workspace comes alive

Model, ingest, question, commit

Four steps, and every one of them is exercised end-to-end by the journey suite before this site is allowed to publish a number.

01

Model the domain

Declare object types and link types in Ontology Studio. Types and cardinality rules live in the store, so the model is queryable rather than written down somewhere.

02

Ingest with validation

Arrivals, transfers and maintenance events enter through a reviewed ingest path. A record that breaks a rule is rejected with a named reason, not silently rounded into place.

03

Explore and question

The Atlas renders the filtered snapshot in 3D. Ask the copilot in plain language and it answers with citations you can click into the exact records behind the claim.

04

Commit an action

Preview first, then commit. The write is journalled, every open view converges on the new state without a reload, and the branch stays comparable to what actually happened.

Two packs, two closed loops

Shortfall appears on screen, then closes on screen

Both stories are driven through the same action path a real operator would use: preview the consequence, commit it, watch every open view converge.

Defense · readiness disruption

DEFENSE PACK

A dry-dock overrun takes one ready vessel out of the pool. Capacity margin flips from +6 to −6 places and Operation CORMORANT drops to 1 of 2 platforms. Activating a reserve vessel returns the margin to +6 without a page reload.

Baseline4 ready vessels · 48 places · 42 demanded+6 places
Maintenance failure3 ready · 36 places · shortfall tile appears−6 places
Activate reserve vessel4 ready · 48 places · unmet 0+6 places

Every tile prints its own formula, so margin = capacity − demand is checkable rather than trusted.

Commercial · supplier disruption

COMMERCIAL PACK

A supplier shipment is delayed 48 hours in port congestion. Shortfall jumps 20 → 220 units, because a late arrival is excluded from timely supply and never quietly counted. An inter-warehouse transfer then an expedite walk it back to zero for a committed intervention cost of SGD 1,380.00.

Baseline300 demanded · 200 timely · 80 on hand20 units short
Inbound delayed 48 htimely arrivals excluded, one named shipment220 units short
Commit transfer 140 unitsplanned supply, on hand stays 8080 units short
Expedite 80 units+18 h from the second supplier0 units · SGD 1,380.00

Money is held as integer minor units: SGD 420.00 transfer plus SGD 960.00 expedite.

Walkthrough

The whole loop, end to end in 4 min 24 s

Recorded from the running atlas: launcher, defense disruption, copilot with citations, scenario compare, and an ingestion reject.

Recorded 1280×800 at 12 fps on the machine that serves this site · captured 2026-10-18 · 3.4 MB.

Honest scope

What this build is, and what it is not

We would rather you find this out here than in a meeting.

Single-user loopback identity. The session is a signed, HttpOnly cookie issued locally. It proves workspace scoping and role gating at the API boundary. It is not enterprise SSO, and it does not pretend to be.

Deterministic synthetic data. Both packs are generated from seed 20261016 so every run and every screenshot is reproducible. No customer data has been ingested yet.

One Apple Silicon Mac. Every latency and frame figure on this site was measured on a single M5 Max workstation with the inference engine sharing the same box. It is a workstation claim, not a cluster claim.

Frames were measured in a headless tab. An emulated camera drag overstates what a trackpad feels like. Treat 59.9 fps p50 as a floor, not an experience rating.

Public visitors are read-only. Through the public URL the API clamps every session to viewer. Writes need the loopback origin, so nobody on the internet can move your vessels.

Nothing leaves the machine for inference. The engine is a local endpoint. 0 cloud calls were made to answer a copilot question in the offline test.

Put your own records in front of it

Tell us what you are trying to understand and we will run it against a pack shaped like your operation — same engine, same honesty about what is measured.