Live in production · HOJ Rentals · Ontario, Canada
Every price used to be a phone call
HOJ rents cars and box trucks in Oakville. Their customers now never have to pick up the phone to get a price — and the counter runs the entire business from one admin panel.
For the customer
They enter their dates and instantly see an itemized quote — billed days, mileage, under-25 fee, HST, all of it. They book in a couple of taps, and then manage the whole reservation — change dates, swap the vehicle, cancel — from a secure link in their inbox, with no account and no password to forget.
Behind the counter
The entire business runs from one admin panel: every booking and where it sits in its lifecycle, a live inventory of each physical vehicle, availability and free-upgrade assignment, a day-by-day fleet calendar, and a single inbox that finally captures every lead.
Quotes lock the instant they are created, so a customer’s price can never change after the fact — and inquiries stop slipping through the cracks.
How it is built
React and TypeScript on the front end, Firebase Cloud Functions and Firestore behind it, deployed on Vercel.
The detail that matters: pricing logic lives in its own domain package, not in the UI, so a quote can never differ between two screens. The number the customer sees, the number on the confirmation email and the number in the admin panel are computed once, in one place.