The challenge
David runs a small car-hire company in Australia. He came up through the industry — taxi driver, then fleet dispatcher, then owner — and he knew exactly what his operation needed: a system that could handle customer bookings, back-office management, and driver dispatch. What he could not do was write a requirements document.
What arrived in our inbox was a single Word file David had typed himself. Full of spelling errors, half-finished sentences, and the kind of vocabulary a frontline operator uses when describing the job to himself. It was also, read carefully, one of the most honest specifications we had ever received.
How we worked together
David did not use email much. He rarely joined video calls. He would book a meeting and then disappear; on the phone he would jump between topics without finishing any of them. The standard "feature list → estimate hours" workflow was never going to work.
So we did not start with features. We started with outcomes. Three of them: customers must be able to book, vehicles must be dispatched, drivers must get reminders. We signed a Time & Materials contract capped at AUD 60,000, anchored on those three business goals rather than a feature checklist. That gave both sides room to iterate without renegotiating every change.
Our lead engineer, Xinhao, took the role of solution owner rather than ticket-taker. He presented David with three architectural options — web-only, hybrid app, third-party integration — each with its cost and timeline laid out plainly. David moved from asking for features to choosing between them. Every two weeks we demoed progress, and he pushed back on what he saw. That feedback loop was the project.
The hard part
Communication gaps stretched a three-month plan into six months. At one point David concluded the system simply did not exist and threatened to sue for a refund. Our account manager flew his daughter into a review meeting, and the three of us walked line-by-line through the original contract goals: bookings live, dispatch module complete, SMS reminders working. Every one of them had shipped. Trust was rebuilt in a single afternoon.
Outcome
The system went live, the operation now runs on it, and the project closed inside the AUD 60,000 ceiling. More importantly, a client who nearly walked away became a reference we can point to.
Our model rewards engineers who take responsibility for outcomes, not just output. Aligning a contract on business goals — not a feature list — gave both sides the space to adapt when the project got harder than expected.