# DrayMaster

By Munawar Khel / Envase Technologies / Lead UI/UX Designer / 2020–23 / 7 min read

Published at https://munawarkhel.com/work/envase-technologies/draymaster/

Replaced disconnected spreadsheets, phone calls, and email chains with a single pricing intelligence platform covering the full drayage pricing lifecycle, from tariff setup to competitive bidding to real-time spot quoting

- Company: Envase Technologies
- My role: Lead UI/UX Designer
- Timeline: November 2020 – March 2023
- Platform: Web (Desktop)
- Category: Enterprise SaaS / B2B Marketplace
- Status: New design, delivered
- Tools: Figma, Bootstrap Design System
- Team: Solo designer

## Context

DrayMaster PRO is a B2B SaaS platform for drayage and intermodal trucking companies, the logistics operators who move shipping containers between ocean ports, rail terminals, and inland destinations. Drayage sits at the intersection of maritime shipping, rail freight, and over-the-road transport, and its pricing is unusually complex: rates depend on service territory, mileage bands, point-to-point flat rates, fuel surcharges, accessorial charges, and terminal-specific surcharges, all varying by metro area and by terminal. A single carrier may operate across dozens of metros, each with multiple ports and rail yards from operators like CSX, NS, BNSF, CN Rail, and others.

The platform centralizes the workflows that drayage carriers and freight brokers perform daily: managing tariffs, configuring terminal pricing, responding to competitive bids, and quoting time-sensitive spot loads. Before DrayMaster, these workflows lived in disconnected spreadsheets, phone calls, and email chains, with no shared record of pricing and no structured way to compare quotes. The project existed to replace that fragmented ecosystem with a single pricing intelligence platform that could hold the real-world complexity of drayage operations while staying usable for the people running them.

## The problem

Drayage carriers and freight brokers work inside a fragmented, labor-intensive pricing ecosystem, and four connected problems defined the work:

The core tension was holding genuine operational complexity, dozens of territories, hundreds of lane pairs, multi-line-item pricing, without pushing that complexity onto pricing analysts, operations managers, and brokers already working under deadline pressure.

- Complex rate structures: pricing depends on service territory, mileage bands, point-to-point flat rates, fuel surcharges, accessorial charges, and terminal-specific surcharges. A single carrier may operate across dozens of metro areas, each with multiple terminals, and there was no centralized way to hold that structure coherently.
- Manual bid responses: when shippers issue RFQs with hundreds of origin-destination lane pairs, carriers had to manually parse spreadsheets, map lanes to their service territories, calculate rates, choose the best carrier option, and compile submissions, a process prone to errors and missed deadlines.
- Rate inconsistency: without a centralized tariff system, carriers risked quoting inconsistent rates across bids, leaving money on the table or losing contracts to competitors.
- Volatile spot pricing: when a broker needed a container moved, they traditionally called or emailed multiple carriers to solicit spot rates, a slow, opaque process with no central record and no easy way to compare pricing. Carriers, in turn, had no streamlined way to receive requests, price competitively, and respond within tight windows.

## What I did

The solution was a single pricing intelligence platform built from four integrated modules that cover the full lifecycle of drayage pricing, from tariff setup to competitive bid submission to real-time spot quoting. Rather than treat pricing, bidding, and quoting as separate tools, the design connected them around a shared, territory-first model that mirrors how drayage operations are physically organized.

Manage Sell Rate is a terminal pricing assignment tool. Operators select terminals by geography (city, state, zip, or radius) and assign pricing tiers, terminal surcharges, fuel surcharges, and accessorial groups, then bulk-edit many terminal assignments at once. Tariff Management is a comprehensive tariff creation and viewing system organized by service territory: carriers create and edit tariffs with mileage-banded rates, define point-to-point flat-rate overrides for specific city or ZIP destinations, set active date ranges and pricing tiers, upload bulk rate data by spreadsheet, and view all tariffs across territories with status, active dates, and rate summaries.

The Bidding Tool turns RFQ response from manual spreadsheet work into a guided multi-step wizard: upload and parse RFQ spreadsheets, map and validate columns to system fields with error auto-correction, assign lane pairs to the carrier's terminal network, and assign rates through an engine that can auto-select the lowest-cost carrier, apply markup rules (average plus percent, trimmed average, standard deviation), set rounding, remove outliers, and preview bid amounts with statistical context before compiling the submission. The Spot Quote module is a two-sided real-time marketplace: brokers create structured quote requests (reference number, container type, rail port, delivery schedule, dock handling, steamship line, target rate, shipment count), invite specific carriers, set a deadline, and broadcast, then compare returning bids with average-rate and savings calculations and accept, decline, or cancel each one, triggering a work order flow. Carriers receive inbound requests with full shipment detail and their current contracted rate as a baseline, submit spot quotes itemized by line charge (drayage, fuel surcharge, chassis pickup, return and rental, terminal surcharge, tolls), and track status (Sent, Pending, Accepted, Timed Out) from a centralized dashboard.

## Outcomes

- Replaced disconnected spreadsheets, phone calls, and email chains with a single pricing intelligence platform covering the full drayage pricing lifecycle, from tariff setup to competitive bidding to real-time spot quoting
- Turned the manual, error-prone RFQ response process into a guided eight-step wizard with column mapping, validation, and error auto-correction, reducing the risk of mistakes and missed deadlines on bids spanning hundreds of lane pairs
- Gave carriers data-driven pricing through statistical bidding intelligence (rate distributions, averages, deviations) and configurable markup and outlier controls, helping them quote consistently and competitively
- Built a two-sided Spot Quote marketplace that replaced opaque phone and email negotiation with transparent, line-item, time-boxed bidding visible to both brokers and carriers
- Structured a complex, territory-first pricing model, mileage bands, point-to-point rates, terminal surcharges, and accessorials across dozens of metros, into legible interfaces on the Bootstrap Design System
- Shipped an integrated platform serving both drayage carriers (fleet owners, pricing analysts, operations managers) and freight brokers from a single product

## Decisions

### Wizard-based intake for RFQ response

What: Broke the complex RFQ import into an eight-step guided wizard (Upload, Select Sheet, Assign Headers, Filter Rows, Map Fields, Assign Defaults, Correct Errors, Assign Terminals), each step validated before moving on.

Alternatives: A single dense import screen carrying the whole spreadsheet-to-bid mapping at once, closer to the manual process it replaced.

Why: RFQ response was the highest-friction, most error-prone workflow, hundreds of lane pairs mapped by hand under deadline. Decomposing it into validated steps with inline error correction turned an error-prone data-mapping task into a manageable, auditable flow, catching problems like unrecognized terminal names before they reached the submission.

### Statistical bidding intelligence over blind pricing

What: Designed the Assign Rates view to surface competitive context, carrier rate distributions, averages, and standard deviations, alongside configurable markup formulas and outlier removal.

Alternatives: A simple rate-entry view where operators keyed in prices without decision support.

Why: Carriers were leaving money on the table or losing contracts by quoting inconsistently. Showing the statistical picture at the moment of pricing let operators make informed, defensible decisions instead of guessing, while configurable parameters let them balance automation against manual control lane by lane.

### Territory-first architecture

What: Organized all pricing, tariffs, and terminal assignments around geographic service territories and their terminal subdivisions.

Alternatives: A flatter, list-based structure organizing rates by customer, contract, or lane without a geographic backbone.

Why: Drayage operations are physically organized by territory and terminal, ports and rail yards within metro areas. Mirroring that structure in the product made the mental model match the operation, so configuring pricing, mapping lanes, and managing tariffs across dozens of metros stayed coherent as scale grew.

### Two-sided transparency in the Spot Quote marketplace

What: Gave both brokers and carriers visibility into the same structured, line-item data, itemized charges for drayage, fuel, chassis, terminal, and tolls, inside a time-boxed bidding flow.

Alternatives: A lighter quoting tool that exchanged single all-in rate numbers, closer to the phone-and-email status quo.

Why: Opaque phone and email negotiation left brokers unable to compare quotes and carriers unable to price against a clear baseline. Structured, comparable line-item pricing replaced that with an auditable, apples-to-apples marketplace where both sides worked from the same information within a clear deadline.

## What I learned

Match the product's structure to the operation's structure. Drayage pricing looked overwhelming until it was organized the way the business physically works, by service territory and terminal. Committing to a territory-first architecture early meant that configuring pricing, mapping lanes, and managing tariffs across dozens of metros all shared one coherent mental model, and the domain complexity stopped fighting the interface. The lesson was that in a deeply specialized domain, the fastest way to legibility is to mirror how practitioners already think, not to impose a cleaner but unfamiliar abstraction.

Decision support beats data entry on high-stakes surfaces. The Assign Rates view could have been a plain form, but the real problem was not entering rates, it was deciding them well under competitive pressure. Surfacing statistical context at the moment of pricing changed the tool from a place to record a number into a place to make a defensible call. On surfaces where the user's decision carries real money, showing the context behind the decision is worth more than streamlining the input.

Complexity is best absorbed in stages. The eight-step bidding wizard proved that a genuinely complex, error-prone task is more usable when it is decomposed into validated steps than when it is presented all at once. Letting each step catch its own errors, like unrecognized terminal names, before the next kept a hundred-lane RFQ from failing at submission. Guided, validated flows carry domain complexity better than dense single screens when the cost of a mistake is high.

Tags: Information Architecture, Web, Enterprise SaaS, Dashboard, Logistics, Supply Chain, Data Visualisation
