The problem
Rental management platforms charge per vehicle per month, and every one of them assumed a fleet size and a workflow I didn't have. For a business this small the software cost would have eaten the margin before the first booking.
So the rental business and its software got built at the same time — which meant every feature could be justified by something that had actually gone wrong that week.
What it does
Customers browse availability, book a vehicle for a date range, and sign a rental agreement. Behind that: a fleet with per-vehicle availability, maintenance status, and pricing rules; magic-link auth so nobody manages a password; and a full admin side for the day-to-day.
Availability is the part that looks simple and isn't — overlapping bookings, buffer time between rentals, and vehicles pulled out of service all have to resolve to one honest answer about whether a car is free.
What I'd tell you over coffee
The hardest bug was a timezone one. Booking dates are calendar days, not instants, and a date stored as a timestamp will quietly shift by one day depending on who's looking at it. Everything date-shaped now goes through a single conversion layer.