Adding Building Quality Info to PadDaddy
Background
I decided to make some improvements to a little app I’ve developed to help people in New York find the right apartment when they are moving.
I also decided to try and document the process using a tool from Dropbox called Capture. Here’s the process. It’s my first time documenting these things, so the videos may have issues/not jump perfectly clearly from one thing to the next. But I do think they capture the gist of what I did and are a neat little history. I’ll add written notes between videos to fill in gaps in the story that I think didn’t come through in the videos.
The Problem
Sometimes tenants have a bad time. It’s hard to know when looking at a listing, as a tenant, whether you will have a bad time in the building or with the landlord in some way. It would be great if there was some way to get a sense for whether other tenants have had problems in the same building or with this landlord before. That’s the problem I decided to work on. Here’s a video about it:
So, there we have it. I wanted to add some information for tenants to learn about problems that other tenants have had with a given listing in the search results. This data is already published by the city of New York. Someone just needs to connect it to which units are listed for rent.
It took some real work. Here’s how it went.
Putting the Public Complaints Dataset Into a Table in My Database
The complaints data can be found on nyc’s public site. Of course, I want this data in my database, so I can cross-reference it with the listings info I have. That ended up taking some time. ChatGPT was really helpful when I wanted to explore the data in Python using pandas. I don’t have much recent history using pandas (last time I needed it was during college). ChatGPT was able to quickly tell me the pandas commands I needed to explore the dataset and get it cleaned up for loading into my database. Then, ChatGPT gave me the commands to send the data from my computer to my database in the cloud. Great stuff. Made a video with this same info:
Serve the Data to the Frontend
Next, I went in and connected the listings data I have from StreetEasy with the complaints database. Whipped together a basic UI to show the data. Then, I shipped it. Wrapped it up late on a Saturday and made this video.
Improving The Ui
The prior video showed an initial UI for displaying complaints data. It was fine for a first effort. It also lacked some polish. I decided to go back and improve it. This mainly involved structuring the UI so that the information about the complaints is available at the right time/place/prominence relative to other information. I made a couple videos for this section. The first outlines the problem. The second outlines the solution.
The problem:
The solution 🥳:
Next Steps
There’s probably a handful of more categories of notes that I’ll add in. For example, there’s a public dataset of housing violations (worse than just complaints) that I haven’t integrated yet. That’d be a good one. Also can probably add a note that puts a reasonable estimate on how long a given listing is likely to be on the market. Those are both probably worth doing.
Overall, this was fun! It’s been a while since I felt super motivated to work on PadDaddy, or anything software related. But this got the juices flowing. Feeling good about it.