Technical Reference
Curious about the technical details?
A 35-page reference covering the clinical problem domain, hardware and firmware, signal pipeline, ML methodology, software architecture, analysis engines, security, AI safety gates, testing, limitations, and open research questions.
Questions: hello@tremora.health.
The Numbers
Current test and verification counts.
Counts from the current test suite, security checks, and conformance runs used in development.
Automated tests currently passing.
Adversarial inputs blocked by the AI safety gate, with zero false positives on 26 controls.
Tables verified at runtime across three roles. 9 append-only tables carry UPDATE, DELETE and TRUNCATE guards.
Golden vectors matching between the JavaScript and compiled C implementations.
Provenance kinds shown on values: measured, estimate, proxy, self-report, insufficiency, and unverified calibration.
Device sources supported, each built and tested against a real file from that device.
Database migrations, every one verified by querying the live database rather than reading its header.
Data quality failure modes detected and gated before anything is scored.
Real patient records in the public demo. Demo data is synthetic and labelled.
The Architecture
Data sources, ingest, and analysis.
Device adapters map inputs into a shared session row via ingestSession(). Analysis modules read only that schema; they do not receive device identity or raw vendor payloads. Adding a device is a parser, not a rebuild.
Inputs
Device-specific formats and units.
Axivity AX3 / AX6
Research-grade wrist accelerometry
GENEActiv
Research-grade wrist accelerometry
ActiGraph
Two export formats
Phone IMU
Consumer movement streams
Tremora Sense
On-wrist IMU features and dose events
Self-report
Patient-entered symptoms and dose marks
Ingest
ingestSession()Single ingest entry point. Normalizes each source into the shared session schema.
Session row
Shared schema consumed by all analysis modules
Analysis
Modules operate on the session row only.
Clinical summary
Text summary generated from session fields
Response curves
Severity plotted against dose timestamps
Trend views
Aggregates across days and weeks
Each of the six adapters was built and tested against a real file from that device. Two of them would have produced silently wrong parsers had we trusted the documentation. That's the difference between claiming hardware-agnostic and demonstrating it.
Uncalibrated files can still parse into a session row. Severity values are not interchangeable across sensors until amplitude units are calibrated for that hardware. Adapter support and calibration are separate steps.
