Every day thousands of people in Spain study to obtain the driving license for the first time. In addition, it is recommended drivers with a license check their knowledge every so often. On the other hand, in the last year the number of bicycles and electric scooters in our cities has increased. It is also useful for bicycle drivers and electric scooter drivers, know and review the traffic code to reduce the number of accidents.

What it does

I have developed a skill for alexa that helps you to know the traffic code and prepares users for the official Spanish driving license exam. The questions have been obtained from the DGT (government department) website. This source is said in the skill. Users must answer the questions by saying A, B or C. On devices with screen, users can also touch the correct option.

By default, the user can practice with a small number of questions, but the skill invites the user to buy the "pack of extra questions" thanks to Alexa in-skill purchases.

The skill remembers the questions you failed last time and highlights them with a yellow message, to help you improve.

How I built it

I have included the following APL documents in this skill: Question screen, Stats screen, Help screen and other screens to suggest in-skill purchases. These screens are created and tested to be displayed correctly in small round devices, medium devices, large devices and extra large devices (TV). The appearance of these screens changes a lot in small round devices.

This skill remembers the questions you have failed (store it in DynamoDB, I use my open source library called "dynamola"). When a question that you have failed reappears, a reminder message is also displayed: you failed this question the last time.

The background images, icons, etc. are stored in S3.

The skill is multi-language (Spanish and English).

To increase the number of users in my skills, in the "Help" section I announce other skills.

To improve the Alexa in-Skill purchases, I've created the following intents:

  • What can I buy?
  • Tell me more about pack of extra questions
  • Buy pack of extra questions
  • Order history
  • Refund pack of extra questions

Challenges I ran into

The part of suggesting a purchase to users who had not yet bought was the most complicated. I didn't want it to be intrusive and I didn't want to suggest a purchase to users who have already bought. This is the part that I worked the longest.

Now, any user can try the skill with a small number of free questions and then receive the invitation to buy the extra pack of questions.

Accomplishments that I'm proud of

I believe that I've followed the in-skill purchase recommendations. So that, the buy offer and the upsell flows are very smooth, easy for the user and nothing intrusive. In addition, the intents to know the history of purchases, know what you can buy, return a purchase, etc ... are very useful.

What I learned

In-skill purchases are new to me. I've learned this part to be able to develop this skill. It was fun!

What's next for Driving Test Premium

I hope it is very useful for users. I will listen to your feedback to add new improvements. In the future I want to add more statistics to see the evolution of the student, rankings, multiplayer game mode, questions with video and more languages. I also want to refactor the source code and test new types of in-skill purchases and products.

Built With

  • alexa
  • alexapresentationlanguage
  • apl
  • dynamodb
  • dynamola
  • in-skill
  • isp
  • lambda
  • multilanguage
  • multimodal
  • node.js
  • purchases
  • s3
  • touchwrapper
Share this project: