Inspiration

Our inspiration was that figuring out how different housing options are viewed is difficult. Especially since there aren't places specially designed to share opinions about this subject. So we created this product that is able to gather the overall consensus of some people and output these findings to the user.

What it does

What this project does is call an API from Reddit in order to get the top 10 posts from certain subreddits pertaining to a keyword, in this case, an apartment complex. We then store all of the text from the post, including comments, into a database. Then we sort through the database and prompt Gemni through a different API in order to give a sentiment score from 1-10. After we have this data, we then display it to the user through a web app that can be sorted by four different categories: overall, maintenance, distance, and environment scores.

How we built it

We used Python in order to gather the data and input it into a database on MongoDB. Then, calling a Gemini API, we prompted the LLM to give a sentiment score using the text from both posts and comments in our database. We then used React, Flask, and CSS to create a web app that can effectively call the APIs to dynamically display the data.

Challenges we ran into

Some challenges that we ran into are learning how to effectively prompt the LLM. Since LLMs can give a variety of different responses, we had to effectively prompt in order to extract hard data from what Gemini responded with. Some strategies we used were asking for responses only in the form of JSON files and using limited amounts of vocabulary to make the LLMs' naming convention more predictable.

Accomplishments that we're proud of

We are proud of being able to learn how to use different APIs quickly, such as the Gemini and Reddit API, and also being able to learn and implement languages such as Flask and React within a short period of time. We were also able to define a project with a scope that was just about right for the given time frame.

What we learned

We learned about effectively prompting to get a certain response from LLMs, and we also learned about languages such as Flask and React.

What's next for VTHousingSentiment

Some next steps for this project are implementing a system where users can give their own input on certain housing options. Then, being able to take the input and put it into the database to later be used when recalculating sentiment.

Share this project:

Updates

Submission history