DFTASSET INTELLIGENCE
Sign in
CONNECTED OPERATIONS

Every asset.
Accounted for.

A clear view of your equipment, its movement, and the work ahead — from tag observation to confirmed custody. A working software-first RFID demonstration: real workflows, simulated reader events, no physical hardware connected.

Sign in to workspace
2sDashboard refresh interval
100%Atomic event processing
FROM EVENT TO INSIGHT

How a scan becomes a decision

A tag observation alone never proves entry or exit. Every simulated scan passes through the same four steps the production pipeline uses.

1Receive the event

A simulated reader submits a tag observation into a durable PostgreSQL inbox before any business logic runs.

2Match the RFID tag

The EPC is matched against a registered asset in the acting tenant. Unmatched tags are flagged, never guessed.

3Validate direction & custody

Entry/exit rules, repeat-read suppression and stale or future timestamps decide the outcome before anything is saved.

4Save movement & audit

Event, movement, asset state and an audit row commit together, atomically, with the asset row locked per update.

INSIDE THE WORKSPACE

Everything operations needs in one place

Operations overview

Live stats, exceptions requiring review and asset distribution by location in one workspace.

Asset register

Every asset, its RFID tag, serial and category, searchable and filterable by location or status.

RFID simulator

Send simulated tag observations, replay events and validate entry/exit rules without hardware.

Activity log

A persisted, tenant-scoped record of every observation, movement and repeat-read suppression.

Certificates

Inspection and expiry metadata per asset, with due-soon and expired status at a glance.

ROLE-BASED ACCESS

Built for every seat on the team

Four demo accounts show tenant-scoped authorization end to end — including a second organization that never sees the first's data.

Administratoradmin@dft.demo

Full access: asset registration/editing, simulator, all views, and scan-processing health with retry controls.

Operatoroperator@dft.demo

Same day-to-day workflow permissions as admin in this milestone; no administration screen yet.

Viewerviewer@dft.demo

Read-only across every DFT view. Writes are rejected by the API, not just hidden in the UI.

Separate tenantother@dft.demo

An isolated organization with its own asset, locations and readers, proving tenant boundaries hold.

ENGINEERED FOR RELIABILITY

What holds up under retries, races and reloads

Idempotent retries

Retries reuse the saved event by ID; a changed payload under the same ID is rejected outright.

Per-asset locking

Simultaneous duplicate events resolve to one business effect — no double check-ins from a race.

Atomic commits

Event, movement, asset state and audit trail are written together or not at all.

Origin & role checks

Writes require a valid session cookie, a matching Origin header and a permitted role — enforced server-side.

Tenant isolation

Every query is scoped to the authenticated actor's tenant; UUID routes never trust a client-supplied tenant ID.

Recoverable processing

Failed events retry automatically up to five times; a background worker recovers anything left pending.

UNDER THE HOOD

Built on a straightforward, typed stack

Next.jsReactTypeScriptPostgreSQLDrizzleBetter AuthZodTailwind CSS
WHAT'S NEXT

Beyond this milestone