About

NODAVX is the atlas; SPECTRA Research is the workshop

NODAVX is a spatial intelligence platform built by SPECTRA Research Pte Ltd in Singapore. It exists because operational dashboards keep failing the same way: they display a number nobody can question, and the questioning happens afterwards, in a spreadsheet, by someone who no longer trusts the dashboard.

The name

NODAVX, spelled out

A name you can take apart is a name you can hold accountable. Each part is a layer that has to work on its own.

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

Working names inside the codebase are older than this domain: the npm scope is @atlas/*, DOM events are atlas:*, and the database namespace is spectra / database atlas. They were left in place deliberately — renaming identifiers is how a tested system quietly loses its tests.

Position

Local-first, on purpose, and it costs something

Choosing that the whole system runs on one machine is a product decision with a trade-off attached, and the trade-off is the part most vendors leave out of the sentence.

What it buys

The reason to accept the constraint

Data never has to leave the building to be useful, so regulated or classified material can be modelled at all. Inference is a local model on the same machine — the published figure for cloud calls in this build is 0, and the offline test cold-boots the whole application with the network blocked.

What it costs

What we will not pretend

Throughput is one machine’s throughput. There is no horizontal scale, no multi-region failover, and no answer yet about what happens at a hundred concurrent analysts. Scaling out would mean introducing a cache, and a cache is the thing this architecture refuses.

Who it is for

And who should look elsewhere

A team that owns one hard operational question and can name the decision it makes weekly from it. If the requirement is a managed BI tool over every system in the company, a conventional warehouse stack is the honest answer today, not this.

Provenance

Where every number on this site comes from

A build script reads the running store and the validation documents and writes the figures into these pages. Nobody typed a count into a marketing sentence.

build pipelinenode tools/build-counts.mjs && node tools/build.mjs
store counts1,199 entities / 3,009 relations2026-10-18
second read42 object types via SQL GROUP BYcross-checked
latency + fpsp50 88 ms · p95 101 ms · max 103 ms2026-10-17
tests62 pass / 0 fail, 2 skipped of 64 · 85 checks / 0 failures2026-10-18

If the store is unreachable, or if the two count paths disagree, or if a document stops stating a figure in the expected form, the build stops with an error instead of publishing yesterday’s number. An out-of-date honest site still has to say so.

This site makes zero requests outside nodavx.com: fonts, icons, imagery and the search index are all served from this origin. Search is a build-time index of these seven pages, so there is no backend to query and nothing to phone home to.

Not proven

Six things this build does not claim

Read this section before the performance table. It is the same list we would want if we were buying.

One Mac, not a fleet

Every latency, frame-rate and throughput figure on this site was measured on a single Apple Silicon Mac with the store, API, inference runtime and browser on it. Nothing has been measured across a network boundary or under a concurrent load test with many users.

Single-user loopback auth

Sessions are a signed cookie issued to one local user. Role enforcement and cross-workspace scope refusal are implemented and asserted by tests, but there is no identity provider, no team onboarding and no audit-workflow product.

Deterministic synthetic data

Both packs are seeded from ATLAS_SEED=20261016. That is what makes the numbers reproducible, and it is also why no figure here is a claim about your business. Entity counts are honest; the vessels are not real vessels.

Answer quality is not graded

Citations are counted and latency is measured, and the copilot refuses to render output it cannot parse. There is no eval set scoring whether an answer was good, and vector search is off until an embedding model is verified locally.

No live telemetry

Positions are asserted in the seed, not received. There is no AIS receiver, ERP connector, historian feed or message bus ingest in this build — arrivals enter through a validated ingest path that a person or script calls.

SurrealDB licence terms

The server is BUSL-1.1 and every other dependency is MIT or Apache-2.0, read from installed manifests rather than websites. Before commercial deployment at scale, confirm the current SurrealDB terms independently rather than trusting this sentence.

Contact

One address, and it is monitored

No form, no CRM, no newsletter. Mail reaches a person at SPECTRA Research.

[email protected]

demos, pilots, technical questions

Tell us the decision and the tables you have today. A CSV is enough to start; an ERP extract is better. If you want a pilot, we will ask for one decision, three tables, and the formula you currently compute by hand.

How this site is served

so you can check it yourself

A static origin on the same Mac as the atlas, fronted by a Cloudflare Tunnel — no web server exposed to the internet, no CDN copy of your data, no third-party analytics. app.nodavx.com reaches the application on the same machine, and visitors arriving over the public URL are read-only by design.

apex → localhost:8901 · app → localhost:8897 · origin HTTP, TLS at the edge