Volunteering is an amazing way for one to give back and to find a community of like minded people. Finding volunteering events can be a little tedious with multiple sites to visit and sort through. I would like to make it more convenient to find volunteering opportunities with only an Amazon Echo.
What it does
Volunteering Finder finds multiple volunteering opportunities and delivers them to your email. It guides you step by step by asking you for your city, email address, and permission to email you the content.
How I built it
I utilized python guides to create an Alexa Skill. Behind the scenes, the python code was running on AWS Lambda, and for debugging purposes, CloudWatch contained the logs. I used the python library
BeautifulSoup to scrape through a volunteer website for opportunity titles and links based on the given location, and I used the python library
smtplib to send emails. HTML knowledge was nice to have in order to pretty the email messages sent.
There are a few API's with volunteer information, but none responded within the timeframe I was given for the hackathon. I had to resort to scraping data off of a website. It seems that Python for Alexa Skills is relatively new, and there is limited documentation. One specific things I would love to see in the documentation (written in Python) would be intent chaining and utilizing user's information like an email address or location.
- a functional Alexa Skill
- emailing users with volunteer information
- scraping up to date volunteer opportunities
What I learned
I learned to develop an Alexa Skill using Python, and I also learned the syntax that comes with Alexa Skills: intents, slots, utterance.
Whats Next for the Volunteer Finder
- Improve email creation from voice to text
- Create a fancier email
- Allow user to select number of opportunities to hear
- Allow user to select specific opportunity to be sent
- Utilize an API vs web scraping
- Utilize better Alexa Skill practices like intent chaining
- Utilize user information