I wanted to build a visual quiz. I've built a few Alexa apps before, but never one that used APL so I wanted to add to my knowledge as part of this quiz. It occurred to me how much people use Emojis to communicate these days, so why not build something around that.

What it does

The skill presents users with a string of Emojis. These relate to a film,saying or an object and it's up to the player to guess what the Emojis represent.

How we built it

The skill is built using AWS lambda and the node ASK-CLI. It uses DynamoDB to store a users persistent attributes so they can resume a game at a later date. As I wanted the skill to be available to those who don't own an echo device with a screen, there is also an AWS lightsail instance that use Server Sent Events to display questions on any compatible web browser. This means that as long as you have access to a web browser you can play the game.

Challenges we ran into

The main challenges were correct configuration of the Lightsail NGINX server to support Server Sent Events. On top of this, as users can use a web browser rather than APL if they don't have a compatible device, there's quite complex logic around how the question should be rendered. Coupled with Premium mode that allows for multiplayer games etc. and working out when the game has finished. This made working out a flow quite important.

Accomplishments that we're proud of

Although Alexa devices are voiced based, there's obviously a lot more you can still do with a screen, especially for a quiz like feel. Allowing Alexa users without a device with a screen to still play the game was something we're proud of. Opening up the player base to a much wider audience.

What we learned

This was the first time using ISP and APL so it was great to get some experience with those and realise how easy they are to implement!

What's next for Emoji Quiz

It would be good to add some new methods of play - perhaps a quick fire round. Also looking at the potential of echo buttons. Oh and continuing to add new questions of course!

Built With

Share this project: