As university students, one of our biggest struggles is finding optimal spots to study during the day. And very often when we do, our relief dies down when we find that that spot is missing important needed features, like printers or an AV connection.
With impeding mid-semesters and assignment due dates lurking around the corner, a lack of study places only escalates our stress. But being computer science students with an proclivity for efficiency, we came up with a solution! After brainstorming about technology we could use to solve this problem, like counting people on a network to physically measuring presence by bouncing Wi-Fi signals from opposite sides of a room, we settled on an optimal solution for our app, Your Choice.
What it does
Our app, Your Choice, tracks the user's location to find study areas with free space within a user-specified radius. We do this using real-time metrics from the Google Maps API: we detect how many people are at particular venue at a specific time, and then we compare this information with the with the capacity of the room, information that we scraped off the web, to calculate a busyness value. The user can also tick additional metrics, like printer or AV availability.
How we built it
We used Google Maps API Web Services in Python to calculate the distance between the user's current locations and the nearest buildings with the Geolocation, Distance Matrix, and Places Nearby APIs. We also used the Populartimes library to obtain Google Maps popular times data.
Challenges we ran into
Jokes, some challenges we ran into -is that our initial idea for measuring the number of people in a place by scanning the network had both security and legal implications. Even though it would've been a great way to accurately measure people in a place, it was not feasible for scalability
-Using Google Maps API in Swift was counter-intuitive as it was not intuitive design. We later switched to using Apple Maps on front end.
-We were really sleepy.
Accomplishments that we're proud of
-Built a working prototype on 2 hours of sleep! -We learnt using new technologies like AWS, Google Maps APIs, and formatting JSON objects -Managed to hog 6 bags of popcorn
What we learned
-There are SO many available platforms that can help you solve your problem, even when you original idea wasn't working out! An example for us would be pivoting from counting devices on a network to getting real-time information about people in a place -Mentorship is extremely helpful and necessary. The mentors saved our butts so many times. We needed help hooking up the back-end and front-end in the last hour and was thankfully able to do that. -Commitment is important. Pivoting smartly is also important.
What's next for You Choose
-We plan to speak to University of Melbourne and partner with them, and hopefully expand as we automate the room web scraping process. -Sleep :)