Inspiration
We wanted to create a better way of determining the overall nature of reviews beyond what people normally rate on a star scale. People are often inconsistent in their ratings which leads to unrepresentative outcomes, and thus using sentiment analysis on the reviews of each listing, we hoped to create a more accurate and informative rating for each listing.
What it does
We created a website that contains a map of Airbnb listings in and around NYC. We aggregated the reviews for each listing and used the Open AI Da Vinci Engine to create an average sentiment score for each listing, with higher numbers meaning more positive average reviews. Users can see these listings on an interactive map using Azure Maps and find information about each listing, the reviews for it, as well as a link to the Airbnb site. Our website lets you filter these listings by price, the number of available occupants, and sentiment score. Users also have the ability to search for specific addresses and write notes about them. We also have a chat feature using Google Cloud Firebase in which potential renters can speak to the house owners, improving social connectivity and ease of cohesion in the rental process.
How we built it
We leveraged pandas and python's CSV editing capabilities to manipulate datasets we found on the listings and information about them. We integrated the Open AI Da Vinci Engine API to create the sentiment analysis for the reviews of each listing. We employed Azure Static Web Apps to host our React frontend and Python backend in a server-less environment. We used Azure Maps to allow people to visualize the data with markers placed on places of interest. We also applied Firebase Database and Authentication to support the chat feature.
Challenges we ran into
We had difficulty managing to input the reviews into the Open AI API as well as being rate limited due to the number of requests we were trying to make. However, we got around this by being efficient in the way we used the available tokens. We also had difficulty because our initial was to use webscraping to get apartment reviews, however, we ran into to many problems with the places we were trying to get reviews from blocking our attempts. We also had issues with using Azure Functions. Originally, we were going to use a Node.JS backend, but we had trouble including the OpenAI software with it, along with other tools like CSV parsers. As a result, we changed to a Python backend. We learned a lot about server-less file systems.
Accomplishments that we're proud of
We are proud of our sleek design and use of disparate technologies and their integration together. We are also proud of Happy Listings' improvements in the rental process by easily letting users converse with the owner, see a more unbiased review score through sentiment, and immediately see the location of the listing on an interactive map.
What we learned
We learned about how to better deal with very large datasets and working with rate-limited API calls. We also learned a lot about serverless architectures and serverless file-systems as well as more about full-stack development.
What's next for Happy Listings
We could expand beyond NYC and get listings for other areas around the country and the world. We also could look more into apartment reviews and add those as a further option to get sentiment analysis and general information on each listing.

Log in or sign up for Devpost to join the conversation.