Inspiration
As someone who travels often, I’ve had many experiences booking a hotel or Airbnb that seemed quiet and cozy online only to realize later that the area was much noisier than I expected. Whether it’s near a loud nightlife area, a train station, or a bus station. At first, it didn't bother me since I was mostly doing short trips.
But as I started doing long-term Airbnb stays, the problem became clear: constant noise led to more stress and messed up my sleep schedule. However, there’s no way to understand the noise level before you actually move in. The are some real estate platforms that provide noise data for a few listings, but it's not consistent. That’s what inspired me to build a mainstream app that provides a noise score for any location in the world, whether their planning to stay short-term or long-term. It’s built for travelers, homebuyers, renters, and even real estate agents.
What it does
NoiseMap AI is an interactive web app that lets users search any location in the world to visualize the noise score(1-10). The noise score is calculated based on nearby nightlife, airports, train stations, and bus stops. It uses Places APIs to pull real-time data to ensure an accurate noise score.
For each location, the app provides a detailed AI-generated summary that explains why the area may be loud or quiet, making it easy for someone evaluating a home or rental to judge its livability
How I built it
Frontend: React and Mapbx GL JS for a 3D map, CSS for styling.
Backend: FastAPI server.
Google Map Platform API: Places API for real-time location, Geocoding API for converting location to coordinates, and Maps JavaScript API for searching location.
AI: Gemini Pro with prompts
Challenges I ran into
The biggest challenge I faced was building an accurate machine learning model that predicts environmental noise scores. My original plan was to train a model for NoiseMap AI that predicts noise scores. I prioritize 5 core features for AI to predict a score, including distance to airports, distance to bus stations, distance to train stations, nightlife score, and user-collected noise data. Since the app was built for global coverage, I spent significant time:
- Collecting millions of noise and location samples from open datasets (NoiseCapture, OpenStreetMap, etc).
- Cleaning and filtering the data, including outlier and inaccurate data removal.
- Training multiple models and evaluating them using R² and MAE.
Despite these efforts, the models struggled to produce accurate noise scores for unfamiliar areas. I managed to overcome this by pivoting to a rule-based scoring system using real-time Places API data. Surprisingly, this approach provided more consistent and accurate results than the trained model.
Accomplishments that I'm proud of
I’m very proud that I was able to create an interactive app that calculates the urban noise scores for any location in the world. The app can be a useful tool for many people, whether you're a traveler, a homebuyer, or a renter looking for a quieter neighborhood. Furthermore, it can also be useful for a real estate agent as they can promote "quiet" houses to customers.
What I learned
This was my first time building a machine learning model, and I learned a lot about the end-to-end process. Two lessons stood out the most:
First, I learned how critical the quality of data is in machine learning. The accuracy of the model was heavily dependent on how relevant and accurate the data was.
Second, I learned that a machine learning model isn't always the best solution. Even after spending a lot of time training a model with millions of data samples, a well-designed math function ended up being more accurate for calculating the noise scores.
What's next for NoiseMap AI
- Collaborate with real estate listing platforms such as Zillow to embed noise scores into search filters or home listing pages.
- Integrate the “Report Noise Score” tab, where the user can give feedback on the accuracy of the score.
- Add a time-of-day feature where the user can select a time/date.
Log in or sign up for Devpost to join the conversation.