Duckets web logo
My inspiration for the idea came while discussing a reward system for our children's ministry at church. I am one of the directors of the ministry, and we were discussing ways to implement a reward system that would allow the children to earn some type of reward currency for certain things, such as memorizing their weekly scripture, bringing their bible to class, showing acts of kindness, etc. This currency could then be used to redeem prizes. The initial thought was to create an app, but once I was aware of the DevPost competition, I began coming up with ideas that would apply for general education as an Alexa skill. Hence, Duckets
What it does
Duckets is a fun, voice interactive, educational Alexa skill that allows students to answer questions provided by their teachers, and earn reward points called duckets. These duckets can be used to redeem classroom prizes or accolades offered by the teacher.
On the website, www.myduckets.com, educators are able to register for an account, and register their classes with Duckets. Once registered, they are able to create quiz type questions and associate them with their class, so that students registered with the class can earn duckets at home with every correct answer via Amazon Alexa enabled products.
Parents are able to register for an account and add their children to a registered class. Once registered, you will need to link the account with the Alexa skill.
Unregistered children will still be able to enjoy the Alexa skill, as Duckets will provide its own, age appropriate, quiz questions for children who are not joined to a registered class.
Duckets also allows parents to check how their children are progressing, as well as allows teachers to follow their student's progression.
How I built it
After some failed attempts of trying to configure an Alexa skill project using .NET Web Api Core, I finally decided to use plain o'l ASP.NET Web Api using the AlexaSkillsKit.Net _ by Stefan Negritoiu (FreeBusy) _ . I used a SQL Server backend. The webservice and database are both hosted via Microsoft Azure, I also created a website using wix.com (_ www.myduckets.com _) to allow parents to register their children and teachers to add their questions.
Challenges I ran into
Initially I could not get a project correctly set up with .net core api, and therefore decided to use asp.net web api. Also because the Alexa skill is dynamic (questions and answers are entered by educators), there's no real way to prepare/teach Alexa all the possible responses it can expect to receive. I had to add as much random data as I could, and also code the skill in a manner that will gracefully handle unexpected responses.
Accomplishments that I'm proud of
I am really happy with the outcome of the entire project. Making alexa have full out conversations with a user in a manner that is fluid and dynamic at the same time is a pretty amazing accomplishment, and I feel like I was able to do this pretty well.
What I learned
I learned a lot about the Alexa Skills kit. This was the first time using Azure to host a web service and database, so I learned something there. Also, anytime I start a new project from scratch, I try to implement some "new" way of doing something (something, that I haven't done before), so in this project I figured out a way to do all my data access using dynamic objects and web configuration (kind like a sort of dependency injection, but with data commands). I know that doesn't clarify exactly what I did, but I learned a lot in doing it.
What's next for Duckets
I really think Duckets can be the next big thing in interactive education. I would like to get Duckets integrated into schools so that teachers are using it as a means to provide kids with extra credit or bonus points that can be used for winning prizes. Also, i plan on creating a new product that will use the same framework and service, but will be used for churches.