All projects

2026 / Web app, CI and deploys

Dispatch Trip Estimator

Delivered as a standalone calculator so the business could use the estimating portion before the full dispatch portal was ready. Now its primary estimating tool.

Standalone Trip Estimator with outbound and return stops, a Google Maps route, delivery options, and an itemized cost breakdown.
A sample Winnipeg-to-Vancouver estimate, with outbound and return routing, overnight stops, and an itemized breakdown.

The business needed estimates before the full portal was ready.

Estimating was already going to be part of the Dispatch Portal, but the business needed that functionality sooner. I delivered a standalone estimator so dispatch could calculate delivery quotes without waiting for trip records, file uploads, expense tracking, document storage, and the wider interaction between dealerships and drivers.

It now serves as the company’s primary estimating tool. It supported nearly 100 estimates for vehicle deliveries scheduled during September 2026 alone.

A useful slice of the larger project

The immediate task was a quote: where is the vehicle going, how does the driver get back, and what will the delivery cost? Requiring the full operational workflow before answering those questions would have delayed a tool the dispatcher could already use.

Keeping the estimator focused let me deliver that portion independently. Its value is in making the business’s pricing rules usable, while the portal continues to address the scheduling, evidence, and expense work around the delivery.

Price the whole journey

An outbound distance is only part of the calculation. The driver may return in a trade-in, ride home with a chase driver, fly, take a bus, or rent a car. Trailer delivery and a handoff between drivers change the work again.

The calculator combines Google Maps routing with the relevant driver pay, fuel consumption and price, overnight lodging, return transport, service fees, and business rounding rules. Outbound and return stops can be edited separately.

Make the assumptions visible

Changing the delivery or return option updates the breakdown. A comparison view puts expected costs, the quoted estimate, and net amounts beside each other; a copyable client summary gives dispatch a practical output to send on.

For example, choosing a return flight removes the return driving stops and fuel calculation, and introduces the flight ticket and pay for the driver’s time spent flying. Those are separate costs, with different effects on the estimate.

Trip Estimator with Flight selected, separate flight cost and driver flight pay, and expected costs compared with the quoted estimate.
The same sample route with a flight return. The comparison separates expected costs from the quote; the flight fare is an illustrative input.

Keep the calculation dependable as it changes

Pricing logic lives in a pure calculation function, separate from route requests and the interface. Regression fixtures cover the business formulas and delivery options, so a change to one rule can be checked against existing examples.

GitHub Actions runs tests and type checks, and Vercel and Convex handle deployment. This project gave me a direct way to apply the test-driven development I studied in CPSC 210 to software people depend on for real estimates.

In daily business use

The estimator became the business’s primary estimating tool while the larger portal was still being developed, supporting nearly 100 estimates for real vehicle deliveries scheduled in September 2026.

Private repository.