The original system was a shared Google Sheet with 47 columns and a prayer.
Every rental had to be manually tracked across three tabs. Contracts lived in email threads. Nobody knew which device was at which client at any given moment. The business was real — the tooling was not.
What We Actually Built
A Streamlit app backed by Firebase. Two weeks. No agency, no contractor, no Notion workaround. A real database, a real UI, a real audit trail.
The app handles:
- Device inventory and location tracking
- Rental contract generation and storage
- Client history with notes
- Payment status per device per month
The Google Sheet still exists. Nobody opens it.
Why Not an Off-the-Shelf CRM?
We looked at HubSpot, Pipedrive, Zoho. None of them modeled the rental-returns lifecycle correctly. Every workaround we found required another workaround on top of it. The customization cost in time and cognitive overhead exceeded two weeks of engineering.
Custom software was cheaper than configured.
What It Cost
Roughly 80 hours across two engineers. Firebase Spark plan (free tier). Streamlit Community Cloud. Zero ongoing SaaS fees for the first year.
The founders know exactly what it costs and exactly what it does. There are no mystery features nobody asked for.
The Lesson
Founders keep spreadsheets alive because they're familiar and free. The real cost — the one that doesn't show up in a budget line — is the decision latency. When the data is spread across five tabs and two email clients, every question takes five minutes to answer. Multiply that by 40 decisions a week for a year.
The spreadsheet wasn't free. It was just billed in hours instead of dollars.
VitalRegistry is an internal product. This post describes a real build.