⚠️ Our backend is no longer being hosted as WinHacks has concluded.
Thank you for viewing WindsorCharging. Feel free to explore our demo video and GitHub repos.
⏩ Summary
We had some free time this weekend, checked Devpost, and noticed WinHacks. Our first ever hackathon was WinHacks 2021, exactly a year ago. Building upon lessons learned from last year, we used our experience with APIs and geocoding to create a web app for the Optimizing Vehicle Charging Stations challenge.
⚙️ Usage
Our project is a web app, usable in the browser with no installation and zero hassle. Our UI is designed for visualization and simplicity; we expect that non-technical individuals involved with the planning of EV charging station locations would benefit from this. The user simply chooses the options from the panel and is able to view the locations of both existing and recommended charging stations on an interactive map of the region.
🤖 Algorithm
Our backend handles the calculation of where new charging stations should be built. The algorithm takes into account the locations of existing charging stations (via the NREL alternative fuel stations API) and then considers placing new stations in the gaps between them; if it turns out a given location already has multiple stations, the program will not recommend a new one to be built there. When searching NREL and working with the results, the algorithm makes sure to exclude points from outside the region, such as charging stations in nearby Detroit. The program also considers the specific locations mentioned in the challenge details and attempts to recommend stations at those locations if not already present. Once all of these recommended locations are gathered, the algorithm uses TomTom's geocoding capabilities to locate the nearest address to each of the locations, thus yielding a road and specific (human-friendly) location details. Ontario highways are automatically excluded via an internal filter.
🛠️ How we built it
The frontend (web app) is built on Vue.js and hosted on GitHub Pages. The backend runs on Python with an API server built on FastAPI.
🌧️ Challenges we ran into
- It was a struggle to create an algorithm that could determine reasonable locations for new charging stations without creating too many or too few.
- Our hosting platform was having issues with installing dependencies.
🏆 Accomplishments that we're proud of
- Having a nice UI
👨🎓 What we learned
- Working with geographic data (and GeoJSON)
📅 What's next for WindsorCharging
Maybe our team will be back next year for WinHacks 2023! In the meantime, we will continue to participate in other hackathons once in a while.
Log in or sign up for Devpost to join the conversation.