— For technical evaluators →
A layered, graph-native stack — not a monolith with a database bolted on.
The runtime topology, the enforcement boundary and every configurable integration point. Authentication, the audit trail and e-signatures are enforced in the API layer itself — which is why they cannot be quietly switched off by a feature flag.
- ClientReact 19 + TypeScript SPA behind nginx — ten UI languages, light and dark, Execution Runner and kiosk mode.
- APINode.js + Express — JWT and RBAC per route, the hash-chained audit trail, e-signatures on every state transition, REST and webhooks.
- DataNeo4j graph database as the single system of record; a file store for attachments, plates and spectra; organization-scoped records.
- Science serviceschem-service (RDKit), molbio, primer3, crispr-r, antibody and genome-search — stateless containers scaled by replica.
- AI · BI · floorOllama (local LLM) or commercial providers; Apache Superset; an Ignition gateway for OPC-UA; an instrument-service for file and device parsing.
At a glance
One shared, multi-tenant stack
Per-organization configuration is graph rows, not containers.
A typed API layer
Every module is a typed slice of the graph, reached through one enforced API layer.
Constraints enforced on boot
Schema constraints are applied when the platform starts — integrity is not a runtime hope.
Edge connector for private networks
Instruments on a private network push outward only; nothing dials in.
The data model
Every layer of the model, on one diagram.
The entity-relationship diagram is generated from the live model and exports for design documentation and validation packages.

Walk the architecture with your IT and validation leads.
A working session with the team that built it — your modality, your compliance regime, your instruments.

