Built for the field

Every feature is designed around one constraint: technicians need to log work even when there's no signal.

๐Ÿ“ก

Offline-first field app

The field app works without an internet connection. Maintenance records are written to local storage instantly and synced in the background when connectivity returns.

  • โœ“ IndexedDB local storage via Dexie.js
  • โœ“ Outbox queue โ€” writes never lost
  • โœ“ Auto-sync on reconnect
  • โœ“ Install to home screen on iOS and Android

// writes locally even offline

await db.records.put({

  id: crypto.randomUUID(),

  asset_id: assetId,

  record_type: "Inspection",

  _synced: false

});

 

// syncs when back online

window.addEventListener("online",

  () => drainOutbox());

GET /v1/changes

  ?updated_since=2026-01-01T00:00:00Z

 

{

  "assets": [...],

  "records": [...],

  "next_updated_since": "..."

}

๐Ÿ”—

Delta sync REST API

A purpose-built delta sync endpoint returns only what changed since your last pull. Integrate with your own CMMS, ERP, or BI tools with minimal API calls.

  • โœ“ API key auth with scope enforcement
  • โœ“ Client-supplied UUIDs for idempotent creates
  • โœ“ Conflict detection (409 on stale writes)
  • โœ“ Redis-backed rate limiting per account
๐Ÿท๏ธ

Tag management

Generate batches of durable tag IDs โ€” human-readable, OCR-friendly, and typo-resistant. Assign, retire, and reassign tags as equipment changes.

  • โœ“ 10-char IDs: 7F3-K9T2-MQ4
  • โœ“ Batch generation API
  • โœ“ Soft-delete (retire) without losing history
  • โœ“ QR code deep-links
7F3-K9T2-MQ4 Assigned
XP2-M7RT-Q9J Assigned
B4N-KH5T-WF3 Assigned
3C8-VG2J-NR7 Unlinked

Try it for free

No credit card required. Up and running in minutes.

Get started free