Inspiration

Our inspiration came from a game know as GeoGuessr, but we wanted to fit this game format into something more applicable to the categories within the hackathon. When we learned of Melissa's data set on all sorts of statistics within Orange County real estate, we knew we had the resources and data to make our own version of the popular online game.

What it does

Our project, ValueGuessr, is much like the popular online game Geoguessr. The player gets up to 7 guesses on the price of a house provided the location and a few hints along the way. Initially, the player can only see the house on a map, and can only move around so much with no other information. As the player inputs more guesses more information is provided with the map updating to start to include details such as the roads and cities while also allowing the user to zoom out more and more. Furthermore there are hints provided such as the city the house is in, how many bedrooms and bathrooms there are, and even how many stories the building is. The player must get within 10,000 dollars of the assessed price of the house to win!

How we built it

We built this webapp project using React.js and Vite for the front-end while using FastAPI and MongoDB. MongoDB was deployed on MongoDB atlas. Additionally, for the map we used Mapbox, a 3d mapping tool that allows us to implement many different maps including a satellite view map within our web application.

Challenges we ran into

One of the challenges we ran into was using Vite, React.js and FastAPI as we had never used these tools before. One of the biggest problems was learning how Vite interacts with React and resolving the many issues that arise when combing all these different tools. The first mapping tool that we used an outdated and unspecified version of Vite. We had to quickly pivot in the middle of our project to utilize React.js and Vite; choosing to use Mapbox to display our map.

Another challenge we ran into was learning how to utilize datasets. Being more familar with hitting API endpoints, we didn't think that we could have our own database up and running serving us our curated data. We were able to learn how to create a structure to store and deliver our data, and use it for our needs. The dataset Melissa provided us turned out to be really useful and detailed for our project!

Accomplishments that we're proud of

The accomplishment we are most proud of is how interactive the whole project is. The application is constantly updating, and providing the user with an incredible amount of freedom in handling our project.

A really big one for us is how we were able to implement Melissa Property Assessment Data Sets with a MongoDB Altas Cluster. We were able to get our data set imported and stored in our MongoDB no-SQL database, and created our own API using that data. We chose to use FastAPI with Python to fetch data from our database and pass it along to our front end with our own endpoint. Our endpont /generate returns a random JSON with property data that we are able to show visually on a map and to the user

What we learned

We learned how to use the tools implemented into this project such as Vite, React.js, and FastAPI. We learned how useful and applicable these tools are, along with just how much we could complete when we set our mind to it. We initially did not have high hopes of completing the project as we felt we had set our goal too high, but even with two new hackers in the team we were able to put our minds together and complete what we set out to do.

What's next for ValueGuessr

The next step for ValueGuessr is acquiring more data beyond just the Orange County area, and hopefully expanding to all of California or even the whole United States. We currently can only provide samples from a limited data set of only Orange County, but if we were able to include a larger number of properties we would be able to increase the scope of our project greatly. Another route of improvement is optimizing the loading of the project as it runs slower than we would like and has room for improvement.

Built With

Share this project:

Updates