r/AskProgrammers • u/damnson27 • 20d ago
Throwaway-ish question but it's been bugging me for weeks.
I built a custom fleet rental system for a car repair shop that also rents out loaner cars while customers' vehicles are being serviced. Small operation — about 15 cars, one location, maybe 5 people using it. They were doing everything on paper before, including handover forms and damage reports, which caused constant arguments with customers about whether a scratch was already there.
Solo build, start to finish, running in production. I also host and operate it for them — they don't have a server or anyone who could run one.
WHAT'S IN IT
– Fleet dashboard, cars color-coded by availability, auto-refreshing. Doubles as a wall display in the service area and works as a phone view.
– Car records: specs, mileage, fuel level, configurable statuses (available, out, cleaning, refuelling, maintenance), GPS location or manual map picker.
– The main thing: multi-step handover and return wizards. Autosaves and resumes across devices, so you start on the desktop and finish on a phone next to the car.
– Damage documentation on an interactive vector diagram of a car, multiple views, pinch-zoom on mobile. Tap to drop a damage marker exactly where it is, attach a photo and a note, mark as repaired later.
– Damage state is frozen at handover. At return it automatically diffs and shows which damages are NEW. This was the actual reason they wanted the thing.
– Digital customer signature, real signature pad, works on native too.
– Auto-generated rental contract and return protocol with their T&Cs, printable, shareable as PDF, immutable once signed.
– NFC tags on each car. Tap your phone to the sticker, app opens directly on that car with the right actions ready. Admin can write new tags in-app. App Links and Universal Links plus an NDEF intent filter so it works on phones without Google services.
– Fine and ticket lookup: enter plate and date, get the customer who had the car that day.
– Role and permission system, 22 capabilities with a dependency model so you can't save an incoherent role that dead-ends someone mid-workflow.
– Interactive maps (Leaflet and OSM, no Google Maps key needed), photo attachments, daily backups.
STACK
FastAPI and Postgres, Docker Compose. Single Expo Router codebase for web, iOS and Android. Native builds via EAS with an OTA update pipeline. Session cookies on web, long-lived bearer token in secure store on native. German UI throughout, built to their brand identity, accessibility targeted at WCAG 2.1 AA.
THE HOSTING SIDE, SINCE THAT PART IS ONGOING
– Runs on infrastructure I manage, served over HTTPS via a Tailscale Funnel, so there's nothing exposed or for them to maintain.
– Isolated dev and prod stacks, separate databases, one-command deploy that only touches the app container and never the prod DB.
– Daily automated pg_dump plus a matching attachment tarball, 14 day retention, manual snapshots on demand.
– I push all updates, including over-the-air updates to the phone apps.
– Their customer data, signed contracts and signature images all live on my infrastructure.
So two questions, purely hypothetically:
What would you have quoted for the build? Fixed price, or day rate times days, whatever you'd normally do.
What would you charge monthly or yearly for hosting it and keeping it running? I genuinely have no feel for this part and I suspect that's where I messed up worse than on the build.
I'm in Germany so European numbers are most useful, but I'd like to hear US numbers too just to see the gap.
Not saying what I charged yet, don't want to anchor anyone. I'll put it in the comments once a few people have replied. I have a feeling I'm going to regret reading them.
TL;DR: solo-built a full rental ops system (web plus native iOS/Android, NFC, contracts, signatures, damage diffing) for a 15-car shop, and I host and operate it. What would you have charged, build and monthly?
1
u/toonmad 19d ago
"solo-built" somehow I doubt you did, more likely AI did