Fireventory
Offline-First, Row-Level-Secured Platform for Fire Contractors
Jul 2026
Fire-safety contractor platform with an offline inspection PWA and Postgres RLS enforcing tenant isolation.
A Canadian-first operating system for fire and life-safety contractors, with an offline field PWA, Postgres Row-Level Security multi-tenancy, and a single pipeline from inspection deficiency to invoice.
Visit FireventoryOverview
Fireventory is a Canadian-first operating system for fire and life-safety contractors: CRM, assets, recurring compliance, scheduling, offline field inspections, deficiencies, proposals, work orders, invoices, payments, a customer portal, and immutable reports. The core flow is deficiency-to-revenue: an inspection finds a problem, which becomes a proposal, then a repair, then an invoice, without re-entering data.
My Role
I designed, built, shipped, and operate Fireventory end to end: the multi-tenant data layer, the offline sync, the inspection templates, the API, and the deployment.
Architecture
- A Turborepo monorepo with a Fastify and tRPC API, a Next.js office app and customer portal, and a separate React PWA for field inspections.
- Prisma and Postgres 17. BullMQ and Redis run background jobs, and MinIO stores documents and photos.
- 17 inspection templates mapped to Ontario Fire Code and ULC/NFPA requirements, covering fire alarms, sprinklers, extinguishers, kitchen suppression, emergency lighting, and fire doors.
- Bilingual EN/FR throughout.
Key Engineering Decisions
- Tenant isolation in the database via Row-Level Security. A contractor’s data must never leak across tenants, and enforcing it in Postgres means a missed application-layer filter cannot expose another tenant’s rows.
- Gapless per-tenant numbering for invoices and reports. Document numbers cannot have gaps or collisions within a tenant.
- Separate offline-first PWA for inspectors. Inspectors work in basements and stairwells with no signal. The PWA (Vite and Dexie) stores full inspections locally and syncs once connectivity returns.
- Compliance-specific templates over generic checklists. Templates are accurate to the code and auditable, and reports are immutable once issued.
Reliability & Security
- A 9-role permission matrix and a separate customer portal scope access to what each person needs to see.
- Backups and restores are tested with regular drills.
- Canadian, PIPEDA-compliant hosting.