Inspiration

A construction crew finishes using a rented machine and asks the supplier to collect it. The rental desk says, “We can pick it up tomorrow.” But one important question remains: when do the rental charges stop?

That gap inspired OffHire. A return request, a scheduled pickup and a confirmed billing cutoff are separate events. When those details are scattered across phone conversations, site messages and invoices, the office still has work to do.

I wanted to build something around that specific unfinished task: helping construction teams get clear answers from rental suppliers and keep a usable record of the conversation.

What it does

OffHire is a rental closeout desk for construction teams.

An operator selects an existing rental, reviews the call plan and approves a call through CALL-E. The agent verifies the exact equipment and contract, asks when billing stops, requests an off-rent reference and confirms collection arrangements separately.

The result becomes an evidence receipt with the supplier's answers, supporting transcript passages and any unresolved questions.

For example, a supplier might confirm pickup for tomorrow but be unable to confirm the billing cutoff. OffHire records the pickup arrangement and keeps billing unresolved, with a clear reason for follow-up.

The operator can also compare an invoice's billed-through date with the reported cutoff, record physical collection, track written confirmation and export the evidence. Supplier statements remain distinct from official written confirmation and final invoice review.

How we built it

I built the application with TypeScript, React and Next.js. The deployed version uses Firebase Hosting, Google Cloud Run, Cloud Firestore and Firebase Authentication with Google sign-in.

CALL-E's TypeScript SDK powers the calling workflow. The backend submits the approved task with a structured result schema, saves the returned Call ID and retrieves the call's status, transcript and results. API credentials are stored in Google Secret Manager.

Before dispatch, the app saves the exact request and its idempotency key. Database transactions coordinate the call budget and prevent overlapping dispatches. Live calling requires an approved operator, an authorized destination and explicit approval of the call plan.

I also built a public rehearsal workspace with fictional rentals and six repeatable conversation scenarios. These use the same evidence checks as live calls, allowing visitors to explore the workflow without credentials or phone calls.

Challenges we ran into

The hardest challenge was deciding what a conversation actually established.

A supplier can sound confident about collection while leaving billing unresolved. An answer can refer to the wrong machine. A later correction can invalidate an earlier confirmation. OffHire checks the extracted result against the rental identity and supporting transcript, and sends unclear cases for review.

Another challenge was recovering from uncertain submissions. If a network response disappears after CALL-E accepts a call, immediately retrying could create a duplicate. OffHire preserves the original request and tracks uncertainty so recovery can use the same request identity.

Deployment also required careful coordination between Google sign-in, database permissions, server credentials and Firebase Hosting. I brought those steps into one deployment command with configuration checks.

Accomplishments that we're proud of

I'm proud of building a complete workflow around a small but meaningful operational problem.

OffHire connects the supplier conversation to evidence review, collection tracking and invoice follow-up. Its interface makes unanswered questions visible instead of treating every completed conversation as a completed rental.

The project includes a publicly accessible application, a reusable open-source contribution, a guided deployment command and automated tests covering evidence interpretation, duplicate dispatch prevention, persistent state and access control.

What we learned

A useful phone agent needs a clear definition of success in the customer's workflow. A completed call can still leave an important question unanswered.

I also learned how much of the product sits around the conversation: preparing the request, checking the evidence, recovering from interruptions and showing a person what to do next.

The strongest potential customers are construction teams and rental brokers coordinating frequent returns across several suppliers, especially when confirmations are missing or unclear.

What's next for OffHire

The next step is a small pilot with teams that regularly coordinate equipment returns. I want to measure staff time per closeout, time to a confirmed billing cutoff, unresolved cases and calling costs.

Planned improvements include rental imports, shared team assignments, supplier-specific workflows and connections to rental-management and accounting systems.

The commercial hypothesis is a subscription for the coordination workflow, with calling usage charged separately. The pilot will test whether the time saved and clearer records justify that cost before expanding the product.

Built With

Share this project:

Updates

Submission history