Bed2Lecture
Have you every been hungover, still drunk from a night out or just tired and you realise you are running late for a lecture. Well here comes Bed2Lecture - a mobile web app that will route you from your accommodation to your lecture in the optimal way. While running you will see timers for when you should be hitting each checkpoint, and will be yelled at if you are going too slow. This app will mean that you never miss a lecture again!
This app was built using python, with our main libraries being flask for our web app and networkx to handle all the graphing and routing.
Development
For this app we had to build 2 main elements:
- The Website
- The Network representing campus
The Network
This involved creating a graph to represent the streets and paths of campus as edges and nodes on a network. To do this we made use of the website geojson.io which allowed us to place points all over campus with their longitude and latitude recorded.

After we completed this task we had to link all of the points together to form a network BY HAND. This was painful but we made it through the 668 nodes and we now had a graph to work with. The graph was then turned into a network by weighting each edge with the distance between the 2 nodes on either end. This was calculated using the haversine function.

With a now complete network, we applied Dijkstra's algorithm to find the shortest path between 2 places and that is shown by the green line between the nodes.
With this backend complete, it was time to build the website.
Website
Now that the fundamentals were there, in the website we added several key features:
- Uploaded Timetable is read to find where and when your next lecture is and is displayed on the home page
- Selection for how sober you are to adjust speed expectations
- GPS tracking to allow each checkpoint to be ticked off
- Map implementation with a timer and splits
- End screen telling you how late you were
Note: Due to time constraints, soundbites were not able to be added in, but this would be next on the list.


Log in or sign up for Devpost to join the conversation.