Case study · Logistics SaaS

Vexolis. Drayage Logistics Platform

Multi-tenant B2B SaaSNext.js 15Postgres + RLSStripeLive telemetry

A multi-tenant logistics suite for fleets and brokers. A cross-carrier freight marketplace and a real-time fleet-tracking console, built end to end.

On the go

The Vexolis mobile app

Drivers and carriers run the operation from their phone. Claim and manage loads, follow live equipment tracking, and upload documents, all synced in real time with the Vexolis platform.

Claim & manage loads on the moveLive equipment & fleet trackingUpload PODs and documentsPush alerts on status changesOffline-friendly for the yardOne login across the Vexolis suite
vexolis.com
Drayage TMS
For carriers

Drayage TMS

A cross-carrier drayage marketplace + TMS. Built on Postgres row-level security so every tenant sees only what they should, with Stripe-backed plans and audit-trailed lane claims.

Live at vexolis.com →
vexolis.com/tracking
Live Tracking
Equipment + fleet

Live Tracking

Real-time multi-vehicle telemetry. Geo-quantized, server-streamed updates with a sidebar-driven detail rail for per-unit history and alerts.

Live at vexolis.com/tracking →
The suite

Four products, one platform

Each Vexolis service runs on its own subdomain and tenant boundary. Engineered to work standalone or together.

Under the hood

The architecture decisions that shaped Vexolis

A logistics platform earns trust with what it does when things go wrong: a lost signal in a container yard, two carriers claiming the same lane, a tenant query that must never leak into another company's data. These are the decisions that carry that weight.

Multi-tenant by the database, not by the app

Vexolis serves many carriers, brokers, and fleets from one platform, and every one of them treats their lanes, rates, and equipment as competitive information. The classic way to keep them apart is to sprinkle tenant checks through the application code, and the classic failure is the one query somebody forgot to filter.

So Vexolis pushes tenancy down into Postgres itself with row-level security. Every table carries a tenant boundary, and the database enforces it on every read and write, no matter which service or endpoint issued the query. A forgotten filter in application code returns nothing instead of returning someone else's freight. That single decision turned tenant isolation from a code-review hope into a property of the system, and it is why the four Vexolis products can safely share one platform.

Telemetry that streams from the server

The fleet console shows many vehicles moving at once, and the naive approach, polling an API from the browser on a timer, falls apart quickly: either the map lags behind reality or the server drowns in identical requests.

Vexolis streams instead. The server holds the connection open and pushes updates down as positions change, so the console reflects the fleet without the browser ever asking twice. Position updates are geo-quantized before they ship: a truck parked at a warehouse does not need to emit a fresh coordinate every second, while one moving on the highway does. Quantizing by movement keeps the stream light enough to run all day in a dispatcher's browser tab, and a sidebar detail rail lets that dispatcher drill into any single unit's history and alerts without leaving the live view.

The same telemetry feeds the mobile app, so a dispatcher at a desk and a carrier on the road are watching one stream of positions, not two systems that agree most of the time.

Built for the cab, the yard, and the dead zone

Drayage work happens in exactly the places mobile coverage is worst: container yards ringed by steel, port terminals, warehouse docks. A driver app that assumes a clean connection is an app that fails at the moment of proof of delivery.

The Vexolis mobile app treats connectivity as a maybe. Drivers claim and manage loads, follow live equipment tracking, and photograph documents from the phone, and the app is offline-friendly where it matters most: work done in the yard syncs with the platform in real time once a connection is there to carry it. Push alerts close the loop in the other direction, so a status change made by dispatch reaches the cab without the driver ever pulling to refresh.

Money moves with the load

A cross-carrier marketplace only works if claiming a lane means something, and it only means something if the commercial side is wired in rather than bolted on. Vexolis runs its plans and billing on Stripe, so a carrier's standing on the platform and the subscription behind it live in one system instead of a spreadsheet reconciled at month end.

Lane claims themselves are audit-trailed. When two carriers want the same freight, the platform can show exactly who claimed what and when, which turns disputes from arguments into lookups. That record-keeping instinct runs through the whole product: in freight, the paperwork is the product as much as the software is.

Four products that feel like one

The Drayage TMS, the Live Tracking console, the Broker Portal, and Driver Profiles each run on their own subdomain with their own audience: carriers, dispatchers, 3PLs and brokers, and drivers carrying their CDL records with them. Splitting them keeps each product simple enough to learn in an afternoon.

What makes them a suite is what they share underneath: one login across all four, one tenant boundary enforced in the database, and one stream of truth about where every load and unit actually is. A broker watching a container and the driver hauling it are looking at the same row, scoped to what each is allowed to see.

Questions

About the build

What is drayage, and why does it need its own software?

Drayage is the short-haul leg of container shipping: moving boxes between ports, rail ramps, and nearby warehouses. It runs on tight appointment windows, per-container paperwork, and equipment that changes hands constantly, which is exactly the kind of churn generic trucking software handles poorly. Vexolis was built around those rhythms instead of adapting to them.

What does multi-tenant mean in practice here?

Many companies share one platform, but each one sees only its own loads, rates, equipment, and documents. In Vexolis that isolation is enforced by Postgres row-level security at the database layer, so it holds for every query the platform will ever run, not just the ones a developer remembered to scope.

How does the live tracking stay live without hammering the server?

Updates are pushed from the server over an open connection instead of being polled by the browser, and positions are geo-quantized so units only emit updates when they have meaningfully moved. The result is a console that tracks a whole fleet in real time and is still cheap enough to leave open all day.

What happens when a driver loses signal?

The mobile app keeps working. Load management and document capture are offline-friendly, and everything syncs with the platform in real time once coverage returns. That mattered more than any feature on the list, because drayage drivers spend their day in yards and terminals where signal is never a given.

How do payments fit into the marketplace?

Billing runs on Stripe and is wired into the platform itself, so plans, access, and the marketplace activity they enable stay in one system. Lane claims carry an audit trail, which keeps the commercial record as trustworthy as the operational one.

Could Appluex build a platform like this for a different industry?

Yes. The hard parts of Vexolis, multi-tenant isolation, server-streamed real-time data, offline-tolerant mobile apps, and integrated billing, are patterns, not logistics features. The same architecture carries into any operational domain, and the case for it gets stronger the more field work an industry involves.

Live

See the platform in production

A live preview of the public site. Explore the full product at vexolis.com.

Have a complex B2B platform in mind?

We build multi-tenant SaaS, real-time systems, and logistics tooling end to end.

Start a project →
WhatsApp