Ops Concierge is a full-stack operations dashboard for a field-services / marine-laundry business. It unifies customers, orders, preventive maintenance, procurement, inventory, expenses, labour logs, and inbound WhatsApp/SMS conversations behind a single analytics surface — and deploys to Vercel with zero infrastructure, backed by a deterministically seeded in-memory store rather than an external database.
It's built on a few deliberate decisions: a uniform resource abstraction (every entity shares the same CRUD, UI, and filtering), audit-by-default mutations (each write emits an immutable ActivityLog entry), and a store interface designed to swap in Postgres + auth without a rewrite.
System Architecture
The client reads and writes through versioned route handlers, which delegate to a store interface seeded once at cold start.
Domain Model
Fifteen entities, with an ActivityLog recording every mutation across all of them.
Highlights
- Dashboard + ad-hoc analytics — revenue, profit, and order KPIs with charts, plus a self-serve visualizer that renders any entity/metric as a chart or table and exports to CSV.
- Orders & customers — multi-line orders with GST and a full status lifecycle, and per-customer price history that surfaces negotiated-rate drift.
- Operations hub — one surface over expenses, vendors, procurement, inventory (with low-stock alerts), assets, labour logs, and inspections.
- Maintenance — preventive plans in table, grid, and calendar views with subscriber alerts.
- Unified inbox & audit — inbound WhatsApp/SMS threads linkable to records, over a complete activity timeline.
Tech
Next.js 15 (App Router) · React 19 · TypeScript · TanStack Query · Zod + React Hook Form · Tailwind + Radix UI · Recharts. Versioned API under /api/v1/*; 10 pages, 46 endpoints; deployed on Vercel.