Problem
Rental owners track who owes what in spreadsheets and chat threads. Someone has to remind every renter by hand, check who really paid and work out late fines. That eats the owner's week and makes late payments easy to miss.
Solution
I built a web CRM on Node.js and React with a Telegram bot per business. The bot sends payment reminders; the renter taps a button after paying and the admin confirms it in a queue. The CRM also covers rentals, bikes, renters, payments, fines, inventory, expenses, a calendar, staff roles and online booking. A separate Next.js landing page presents the product for bikes, cars and apartments, and I added self-service registration with email verification and a free trial.
Key decisions
Chose Telegram over a mobile app for renters
Why Renters already use Telegram, so reminders and the paid button need no install or login.
Chose one multi-tenant system over a copy per customer
Why Each business gets its own data, bot and staff roles on one codebase, so a fix reaches everyone.
Chose invoice billing and a free trial over a payment gateway
Why It kept the first version of sign-up simple and let a new owner try the CRM without talking to me.
Results
- A live product site and a working CRM dashboard, both in Ukrainian.
- Automatic Telegram payment reminders with an admin confirmation queue and configurable late fines.
- Self-service sign-up with email verification, password reset and a one-week trial, plus an admin panel to lock, unlock or extend accounts.
- Separate landing pages for bike, car and apartment rentals.
