Inspiration

Our friend Michael was experiencing a common pain point that we all experience at some point in our lives: moving to a new location. He was assigned to a different site for work, and naturally, he began researching the new location to find suitable neighborhoods and areas to live in. However, researching takes a long time and adds to the stress of moving to a new place, so we decided to implement knock knock as a solution to this problem.

What it does

knock knock allows users to easily view important features and statistics about different locations in a user-friendly interface. By taking an approach that allows users to find locations that are similar to their dream locations or places they have enjoyed being in previously, users can find a plethora of information relatable to their previous experiences and current knowledge.

How we built it

The backend is a serverless, RESTful microservice hosted by Azure, and powered by Flask and SQLite.

We expose a number of API endpoints but the main one is "/send_city", which allows for this ranking functionality for the cities within an area. We first receive a POST request from the front end containing:

  • The city we want to be like (i.e. our existing home)
  • The city we're moving to (destination city)
  • The search radius

Once we get those, we query our database for the "like" city to get its data and "destination" city to get its corresponding zip code. From the destination zip code, we make an API call to zipcodesAPI and get all the zip codes within the area of the destination city. Next, we query our database using the API response to get their data and then rank them using our SimilarityScoreâ„¢. Lastly, we return the zipcodes, city, and scores to the frontend where they are handled and displayed on the webpage.

Challenges we ran into

Developing suitable wireframes and frontend for visualizing the results of the project and generating the data for the backend. The API we wanted to use for retrieving zip codes, zipcodesAPI, only allowed 10 free requests per hour.

Accomplishments that we're proud of

Putting together the technology we used for the project.

What we learned

Making wavy lines in Figma is surprisingly difficult. Also, the real neighbors were the friends we made along the way.

What's next for knock knock

We would like to expand on knock knock's current capabilities to allow for varying prioritization of different features; some factors will weigh more heavily than others when gauging the similarity of two locations.

Built With

Share this project:

Updates