◆ MERIDIAN OPS

BUILT FOR HVAC · PLUMBING · ELECTRICAL · MULTI-CREW COMPANIES

One system that runs
the whole company.

Meridian Ops replaces the CRM, the dispatch board, the quote tool, the invoicing app, the stock spreadsheet and the customer portal — with one database, one workflow, and one audit trail. This page is the product: every number below is live, and the booking form at the bottom creates a real job in the system.

Loading live stats…

Demo only. All companies, people, prices and payments on this site are fictional. No real card is ever charged.

Today at Meridian — live from the database

Pipeline right now

Keyboard: in the app, press D dashboard, C CRM, J jobs, Q quotes, I invoices, / search.

1 · Lead in

A contact lands in the CRM with source, type and lifetime value. The same record drives deals, jobs, quotes and invoices — nobody re-types anything.

2 · Quote → job → invoice

Build a quote with line items and tax. Approve it and a job appears. Complete the job and a draft invoice appears. Pay it and revenue updates everywhere, instantly.

3 · Parts actually come out of stock

Use a part on a job and inventory decrements, with a low-stock guard: the server refuses if you don't have enough on hand, and logs exactly what was used where.

4 · Everyone sees their slice

Admins see everything. Dispatchers run the board. Technicians work their jobs. Viewers can look but the server rejects their writes — try it.

5 · Customers help themselves

The portal lets a customer approve a quote, pay an invoice (simulated), track a job and message the office — against the same live data.

6 · Settings that actually do something

Change the company name or the tax rate in Admin and new quotes/invoices use it immediately — tax is calculated on the server, not in the browser.

How it stacks up

Spreadsheet + 4 appsTypical template websiteMeridian Ops (this demo)
CRM + pipelineSeparate toolContact form only✅ Built in, drag-and-drop
Dispatch calendarWhiteboard❌✅ Board + week calendar
Quotes → jobs → invoicesManual re-entry❌✅ Automated, with audit trail
Inventory tied to jobs Spreadsheet❌✅ Parts decrement stock
Customer portalPhone calls❌✅ Approve / pay / message
Role-based accessShared password❌✅ Server-enforced roles
Public APIExports by email❌✅ Documented JSON endpoints

ROI calculator — drag your own numbers

Estimate only, using a conservative assumption: one connected system saves ~30% of admin time and recovers ~3% of revenue that leaks through unbilled or forgotten jobs. Your mileage will vary — that's why it's a calculator, not a promise.

Book a service job — this feeds the live system

Submit this and a new contact + scheduled job are created in the same database the office app uses. Then open the app → Jobs, and find it. (Demo: use a fake email like you@example.com.)

FAQ

Is any of this real?

The software is real and the data persists in a real database. The companies, people, prices and payments are fictional demo data, and "paying" an invoice is a simulation — no card is charged.

What is it built on?

Cloudflare Pages for hosting, Pages Functions for the API, and D1 (SQLite) for the database — one deploy, no separate server. The front end is hand-written HTML/CSS/JS with no framework and no template.

Could this run a real company?

It demonstrates the architecture and workflows a real version needs. A production version would add real user accounts and authentication, real payment processing, email/SMS, file uploads, automated tests and backups — see the honest list in the app under Reports.

Can I reset it after clicking around?

Yes — in the app, Admin → Danger zone → Reset demo data (click twice). Everything returns to the original demo state, including settings.

Meridian Ops — Workspace Role: Admin

Dashboard

Every number below is computed live from the database — change something in Jobs or Invoices and come back here.

2-minute walkthrough

  1. Deals → drag a card to another stage.
  2. Jobs → click the "Hale unit 14 leak repair" title, use a part — watch stock drop in Inventory.
  3. Jobs → Complete that job. A draft invoice is created automatically.
  4. Invoices → click the invoice number for a printable invoice, then Mark paid. Revenue here moves.
  5. Admin → change the tax rate, then build a quote — the new rate is used, calculated on the server.
  6. Top bar → switch role to Viewer and try any edit. The server blocks it.

Jobs by status

Revenue by invoice due date

Pipeline by stage ($)

Recent activity (audit log)

Needs attention