Product

How True Gage works.

A purpose-built calibration management system. Works standalone, or alongside any ERP — never dependent on one.

Architecture

Three layers. Clean boundaries.

A modern React client, a modular NestJS API layer with tenant guards, and a PostgreSQL data layer where Row-Level Security enforces isolation at the row.

architecture/three-layer
Client
React SPA · Role-aware UI · Signed URL fetches
layer_01
Application
NestJS API · JWT · TenantGuard · Cron scheduler
layer_02
Data & Services
PostgreSQL + RLS · Object Storage · Notification Log
layer_03
isolation/request-flow
01
Request
http
02
JWT claims
tenant_id + role
03
TenantGuard
app layer
04
RLS policy
db layer
05
Data
scoped rows only
Multi-tenancy

Every tenant isolated. Twice.

A shared-schema-with-tenant_id model plus two enforcement layers: TenantGuard checks the JWT claim on every request; PostgreSQL Row-Level Security enforces the same boundary at the row. One layer can never leak past the other.

Reminder engine

30 · 15 · 7 · 1 · Due · Overdue.

A daily scheduled job evaluates every calibration-required record. Each notification is written to a log keyed by equipment, type, and day — one reminder per equipment, per type, per day. Never a duplicate.

30d
15d
7d
1d
Due
Overdue
// dedupe rule
SELECT 1 FROM notification_log
WHERE equipment_id = $1 AND type = $2 AND log_date = CURRENT_DATE;
Data model

Relational, indexed, and honest.

table
organizations
tenant_id · idx
table
users
tenant_id · idx
table
equipment
tenant_id · idx
table
calibration_records
tenant_id · idx
table
documents
tenant_id · idx
table
notification_log
tenant_id · idx
table
audit_logs
tenant_id · idx
table
roles
tenant_id · idx
Design choices

Built to stay fast as you grow.

Stored, not computed

Due dates live in next_due_date so listings, dashboards, and reports stay fast at scale.

Cron-driven reminders

A daily job evaluates the equipment set. Reminders write to a notification log — human error stops being a factor.

Role-scoped collaboration

Admins, Quality Managers, Technicians, and Viewers share one workspace with permissions that match the job.

Scalable storage

Indexed lookups, stateless auth, and object storage for large files — built for growing equipment counts.

See it on your equipment list.