When I started building UrbanLease, I had a pretty straightforward idea in mind- a website where people could rent appliances instead of buying them. I wanted users to be able to browse appliances, check prices, choose a rental duration and place a rental request. I also added things like rent vs. buy comparison, rental history, payments and separate user/vendor portals.
A few things I had to fix first:
One of the first technical changes I made was moving from SQLite to MySQL. SQLite was fine when I was just testing the basic version, but as I started adding more users, rental-related data and different parts of the system, I wanted a proper database setup that I could work with more comfortably.
The migration itself wasn't as simple as changing one line. I had to make sure the existing tables, columns and relationships were working correctly, and I also had to fix some issues caused by the difference between the two databases. And some other tech issues.
But those weren't the biggest problem.
At first, I was actually happy with how it was coming together. The website worked, the pages were connected, and I had a proper backend behind it. But after using it for a while, I started feeling that something was missing.
The problem wasn't that the website didn't work. It was that the idea wasn't different enough. If I removed the name UrbanLease, it could easily look like another appliance rental website. I wanted to build something where the features actually solved problems instead of just adding more pages.
That's when I decided to work on two features that weren't part of my original idea:
- Smart Appliance Recommendation
Instead of making users scroll through a list of products and figure everything out themselves, I wanted the website to help them choose.
So I built a chatbot-like rule-based recommendation system. The user can give inputs such as:
Their preferred Budget, Rental duration, Appliance type, electricity usage etc. The system then filters the available appliances and ranks them according to the user's requirements.
- Appliance Condition History
The second feature came from another question I had: "If I'm renting a used appliance, how do I know what I'm actually getting?"
So I started working on an appliance history system where information such as previous rentals, maintenance records, service history and things like AC gas changes can be shown.
This makes the product more than just a name, price and picture. The idea is to give the renter some idea of the appliance's actual history before choosing it.
What I learned while building it-
The biggest thing I learned from UrbanLease is that getting a website to work is only one part of building a project.
I spent a lot of time fixing things that I never thought about when I started. Sometimes I would change the database structure and then have to update the backend. Sometimes a backend change would break something on the frontend. And sometimes the problem was something as small as a wrong column name.
I also realised that adding features just for the sake of having more features doesn't really improve a project. I had to first understand what was missing and then build something around it.
There are still things I want to improve. I would like to make the recommendation system more personalised, improve the appliance history, and eventually explore technologies that can make the recommendations smarter. I haven't figured out all of that yet, so this is just the first draft of UrbanLease so far.
Top comments (0)