Fun Learn works on all the Echo devices. From Echo Dot to Echo show.


I am a student from India and from the beginning of my studies, I was weak at pronouncing words. I was not good at speaking english fluently. To be honest I was a lazy kid and reading the books with all those words, and their phonetics was not that interesting for me. With time I got better but there are times, when I still make mistakes.

I got my echo dot few months back and I started experimenting with Alexa and starting building Alexa skills. After using it for quite sometime I realised Alexa can be a great teacher and a friend who can help kids or someone like me to learn english pronunciation. With few iterations and experimentation I was able to build a dummy use case and it worked!

What it does

Fun Learn is a fun and awesome skill to learn to pronounce English words, spell them, learn their meanings, the part of speech they are, and also an example sentence that uses the word! Fun Learn is your kid's new English teacher now! Simply open the skill, select the level you want to play from Easy, Medium, and Hard, and Fun Learn will start teaching the kid a new word!

Fun Learn selects the words based on the difficulty, and asks your kid to pronounce it. In case of a mistake, Fun learn teaches the right way to speak the word by using the phonetics and if a kid is not able to get the word right, we skip the word and move to next.

Fun Learn comes with Help, which changes based on when the kid asks for help.

Fun Learn is full of delights, It will be a true friend by cheering for you when you speak the word right, Welcoming you differently every time you comes in, motivating you in case of a mistake and much more!

How I built it

I created the Skill using Alexa skill kit, Lambda function, Dynamo Db and used python as a language to write the lambda functions. I used SSML in the skill with breaks, phonetics, speech cons, Echo show templates like listview.

Challenges I ran into

I ran into a ton of challenges

  • Making it interactive for kids. Teaching kids is not that straight forward, they get annoyed easily. Gamifying Fun Learn was a challenge for me.

  • Deciding what words to select, creating the data(finding easy definitions, examples) so that a kid can understand, separating the words based on difficulty.

  • Right now, finding Alexa skill Development blogs for python is rare, there are not much resources but Amazon documentation helped a lot.

  • Developing the skill for Echo show gave me nightmares!

  • I was sick for sometime and had my university work which I did along with making the skill.

Accomplishments that I'm proud of

  • Making Fun Learn is something I am very proud of. Getting it work right and handling all the cases is something I enjoyed.

  • Making it work for kids. I kept myself at their position and then created the skill. I took care of many scenarios as help is something they will require a lot, Giving them relevant suggestions, Cheering for them when they say it right or skipping the word after a number of tries so that they don't get dishearten or frustrated. Motivating them, in case of a mistake.

  • Adding SSML was super fun and tricky. Getting the Phonetics right. Adding break at relevant positions.

  • Rendering Templates for Echo show.

What I learned

  • I learned a lot in the process of making this skill. I learned about the Alexa skill kit, and how powerful it is. Echo show is something which I mastered and will be making many skills for the same. SSML is the thing I am super excited about. My new skills are going to have that. Templates and Rich text with formatting options is just great!

  • Making the skill for a kid was an enriching experience. I talked to many kids and parents while making the skill and got valuable feedback and I iterated over it. I added a video to my Facebook feed and few Echo and Alexa users groups to get feedback and got 2000 views and a ton of feedback which helped me to refine the skill better.

What's next for Fun Learn

I have big plans for Fun Learn in the future! This is just the beginning of the skill.

  • I want it to be the default or number 1 education skill.

  • Extending the skill to incorporate different languages like German, French and many others.

  • Adding analytics so that I can tune my dictionary better, as length of the word can't really decide how hard it is to pronounce the word.

Built With

Share this project: