Construction Materials · Dispatch & Logistics

Concrete Orders Confirmed by an AI Voice Agent, Not a Dispatcher on the Phone

A US ready-mix producer was confirming every concrete order by calling the customer. We built a multi-tenant dispatch platform where an AI voice agent makes the call, the truck is tracked on a live map, and the whole operation answers questions in plain English.

Industry

Ready-Mix Concrete / Logistics

Solution

Multi-Tenant Dispatch SaaS

Engagement

Dedicated Team, Ongoing

Services

Product Engineering & AI

Talk to Us
Ready-Mix Concrete Dispatch Platform — OpenMalo case study
Client Context

A Business That Runs on Phone Calls

Ready-mix concrete cannot wait. It is mixed to order, it starts curing the moment it leaves the plant, and a truck that arrives at the wrong time is a truck full of waste. So every order gets confirmed — someone rings the customer, checks the volume, the mix, the site and the time, and writes it down.

For a producer running multiple plants that is hundreds of calls, made by dispatchers who should be dispatching. The confirmations lived on the phone, the orders lived in one system, the tickets in another, and nobody could see where the trucks actually were.

Multi-Tenant SaaSAI Voice AgentReal-Time Dispatch
The Challenge

What Was in the Way

The producer did not need a better spreadsheet. They needed the confirmation call to happen without a person making it, and everything that followed to be visible in one place.

Order confirmation was manual and phone-heavy — slow, and wrong often enough to matter

No real-time view of truck status or ETA once a load left the plant

Orders, delivery tickets and customer communication sat in disconnected tools

No single view of truck demand, ticket volume or delivery performance

Dispatched orders had to be reconciled by hand against the source-of-truth records

Our Solution

Automate the Call, Then Show the Truck

Each problem above maps to a part of the platform. The AI voice agent is the one that changes the day-to-day; the rest is what makes its output usable.

AI Voice Order Confirmation

An outbound voice agent calls the customer, confirms the order, and hands back a transcript. The call is parsed automatically and attached to the order, with SMS as the fallback channel and a two-phase confirmation flow for orders that change after the first call.

Live Dispatch Monitoring

A dispatch board and a per-order map showing truck status and ETA, driven by database-level change streams rather than polling — so the board is current without anyone refreshing it.

One Hub for Orders and Tickets

Orders, delivery tickets, an order inbox, per-order chat, and token-gated public links customers can open without an account — replacing the spread of disconnected tools.

Analytics That Answer Questions

KPI dashboards and truck-demand reports, plus an assistant that answers questions about order data in plain English — governed by a KPI registry so it can only answer from columns that actually exist.

Key Features

What the Platform Does

Scheduled Orders

Upcoming and scheduled concrete orders, with the plant, mix, volume and delivery window in one view.

AI Voice Confirmation

Automated outbound calls to confirm an order, with recordings, transcript analysis and per-order call history.

Dispatch Monitoring

Live dispatch board and per-order map with truck status and ETA, updating from database change streams.

Delivery Tickets

Tickets with public view links, PDF and email export, and barcode/QR generation for the yard.

Order Inbox & Chat

Real-time inbox of order messages, per-order chat with reactions and image upload, and read-state preferences.

Notifications

Web push, email and SMS on the events that matter, with per-user subscription and template control.

KPI Dashboards & Reports

Truck demand, ticket reports, coverage and BI dashboards built from live dispatch data.

AI Assistant

Natural-language questions over order data, resolved against a governed registry of KPIs and columns.

Order Verification

Reconciles external order records against the system and generates verification documents — the manual cross-check, automated.

Truck QR Scanning

Encrypted QR codes identify trucks, with public truck pages that need no login and reveal nothing else.

Master Data

Customers, contacts, projects, companies, plants, regions and products — the operational backbone the orders hang off.

Shared Links

Token-gated public order and ticket pages so a customer or site foreman can check a delivery without an account.

Configuration

Dispatch, batch and product settings, message templates, KPI parameters, and an SMS/call block list.

Access Control

Roles, permissions and users, scoped per plant, region, customer and project, with admin impersonation for support.

System Monitoring

Activity logs, cron logs, notification logs and an ETA monitor — so a missed call or a stalled job is visible.

Multi-Tenant Workspaces

Separate producer workspaces on their own subdomains, with admin-level switching between them.

Technology Stack

The Stack

Frontend

Next.js 15React 19TypeScriptTailwind CSS 4

Backend & Data

SupabasePostgreSQLNode.jsRedis Cache

AI & Voice

Voice AI AgentTwilioOpenAIKPI Registry

Real-Time & Field

Realtime StreamsMapbox ETAPush NotificationsEncrypted QR
How We Delivered

How We Built It

  1. 1

    Multi-Tenant Foundation

    Workspaces on their own subdomains with tenant switching, so one platform serves several producers without their data ever meeting.

  2. 2

    Permissions Before Features

    Around sixty fine-grained permission codes mapped to routes, enforced in middleware and re-checked server-side in every API route. The client-side checks filter the UI and are deliberately not trusted as security.

  3. 3

    The Voice Pipeline

    Outbound calls, webhooks, transcript parsing and recording conversion, then a two-phase confirmation flow once real orders proved they change after the first call.

  4. 4

    Real-Time Layer

    Database change streams wired to cache invalidation, so the dispatch board, tickets, chat and ETAs update themselves rather than being polled.

  5. 5

    Making the AI Answerable

    A governed KPI registry and a natural-language resolver, with a CI gate that validates every mapped column against the live database and blocks a release if the resolver regresses.

  6. 6

    Performance and Correctness

    Dedicated indexes, paginated and filtered queries, virtualised tables and Redis caching for the heavy monitoring reads — plus timezone handling fixed at the database boundary, where a date that shifts by an hour means a delivery on the wrong day.

  7. 7

    Guardrails

    Schema-as-code through ordered migrations with a drift check in CI, on a feature-branch and pull-request workflow.

The Result

The Shape of What We Built

171

API Routes

40

Application Modules

60

Permission Codes

15+

Integrated Services

  • The confirmation call is placed by an AI voice agent and returns a parsed transcript on the order — the dispatcher no longer makes it.

  • Truck status and ETA are visible on a live board and map, driven by database change streams rather than someone refreshing a page.

  • Orders, tickets, chat and customer links live in one platform, and external stakeholders can open a delivery without an account.

  • Dispatch data answers questions in plain English, against a governed registry that a CI gate re-validates on every change.

FAQ

Frequently Asked Questions

Yes — that is the change that shaped this build. An outbound AI voice agent calls the customer, confirms the order, and hands back a transcript that is parsed automatically and attached to the order, with SMS as a fallback channel. The dispatcher no longer makes the call, so they can get back to dispatching.

Still confirming orders by phone?

If your operation runs on calls someone has to make, we will show you what an AI voice agent, a live board and one source of truth do to the day.

Talk to a Delivery Expert