Inspiration
I was driving with a friend a couple months ago in an electric car that was getting low on power. We were scrambling to find a high-speed recharging station in a nearby location (where we could grab a drink and a bite while it recharged). It was a scenario that Alexa was built to resolve... but there wasn't a skill to do it!
What it does
Station Finder is an intelligent search engine to locate alternative fuel stations in the city or zip code in which you're traveling (or plan to travel). It taps into the API at the National Renewable Energy Laboratory (https://developer.nrel.gov/docs/transportation/alt-fuel-stations-v1) to provide a list of locations by zip code or city for any of a number of different fuel types and electric connectors. It surpasses the capabilities of that API by translating city locations into corresponding zip codes. I did my research, and this API is considered the most accurate source of information on alternative fueling stations in the United States.
Alexa, ask Station Finder to find a station.
Alexa, ask Station Finder to find a hydrogen station.
Alexa, ask Station Finder to find a station in Phoenix, Arizona.
Alexa, ask Station Finder to find a Tesla station in 92629.
It not only leads you through the query process and gives you additional details on stations you select (delivering the address and phone number to your Alexa app), it texts you a Google map link to the designated location. You can instantly start navigation when you receive the text, which arrives in seconds. All you have to do is create a free account at DaysFly.com and add your phone number. (The reason I don't allow users to simply tell Alexa their phone number is to reduce the possibility of spam.)
This isn't a simple EV fuel finder -- it is a locator for the entire range of alternative fuel vehicles. The fuel types are as follows: Electric, Biodiesel, Compressed Natural Gas, Ethanol, Hydrogen, Liquified Natural Gas, and Liquified Petroleum Gas (also known as Propane). If you want a specific electric connector, you can instead say: Tesla, Level 1, Level 2, Chademo, or SAE Combo. An EV fuel finder without the ability to filter based on the type and speed of a connector wouldn't prove as useful.
How I built it
ASP.NET Web API 2, programmed in C#.
Challenges I ran into
The interface for the government API for alternative fuel locations is primitive. It searches by zip code or state; there is no way to search by proximity to geocoordinates or within a city. If someone were using this skill while driving, it's unlikely they would know the zip code through which they were traveling. To remedy this, I implemented a service to translate a city name to a range of zip codes to feed to the API.
The skill was originally named "Fuel Finder," but Alexa kept getting confused by the name.
Accomplishments that I'm proud of
I was leaning into the dialog directives to leverage Alexa's ability to conduct a multi-turn conversation. You can offer Alexa a complete query (e.g., "Ask Station Finder to find a Tesla station in Albuquerque, New Mexico") or you can simply say, "Find a station," and allow Alexa to lead you through the steps. She will ask you the fuel type and city or zip code. If you specify a zip code, she will ask if you want to remain in that zip code or expand your search to the surrounding city.
The query engine has persistent memory, storing the parameters to allow you to work through a list of possible fuel stations, one after another. It remembers your fuel type and U.S. state across sessions, so that the next time you invoke the skill you only need to mention the city you're driving through.
The skill conversationally describes things like the types of connectors available to electric cars in clear terms. Even a government database can be personal and friendly with the help of Alexa.
Having the skill send an SMS text with a map link enhanced the utility of the application dramatically. Alexa is especially powerful in conditions where hands-free is a necessity.
In addition to being a software architect, I have a Ph.D. in Social Ethics. I'm proud to offer technology that benefits the world we live in.
What's Next
I am going to implement a mechanism for sending a precise geocoordinate from your phone to the skill (by text message, which the web service can instantly retrieve) so that it can sort the search results based on proximity to your exact geographical position. (Alexa doesn't know your latitude and longitude, but your phone does, and with account-linking, I can support this interchange.)
Built With
- asp.net-web-api-2

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