Some people are super organized and never misplace a thing. Everybody else knows this situation all to well: Just a few minutes ago you used your mobile phone but suddenly you can't seem to find it. Have you left it in the pocket of your jacket at the wardrobe? Has it slid under the sofa pillows? Have you left it in the bathroom? You try hard to remember but the possibilities are endless. If you are lucky, you might be able to call yourself. But as it goes, in this kind of situation your phone is most probably on silent mode... I was sure that Alexa was perfect for solving this situation. Why shouldn't you be able to simply use Alexa to alarm your phone?
What it does
The Skill pairs your Amazon Alexa device and multiple of your Android Phones (Or Tablets). For that, you need to install the "Phone Finder for Alexa" App that can be found in the Google Play Store. The App can be linked by entering a PIN code that is provided by the Skill. After that, you can easily find your device by asking Phone Finder to alarm it. If your device is online, it will start to play a loud alarm and vibrate, so that you can easily locate it. Even when it is under your pillow and on silent mode!
This submission is for the new addition for ISP to the Spanish (US) language / store (Buscador de Móvil premium). It allows the user to add up to six devices. Moreover, each device can be named so that searching for it becomes even simpler. With that, all family members can easily keep track of their phones when misplaced!
How I built it
The Alexa Skill is built with Python and uses the flask-ask library. It is run as a lambda function on AWS. In addition, it used AWS RDS for storing user data. The Android App is built with Java and the Android SDK. Google Firebase's Cloud Messaging is used to communicate between Lambda function and Android App.
Challenges I ran into
I'm not a very experiences programmer as I only do this for fun. Hence, I've only completed a first, simple skill for Amazon Alexa before attempting to develop Phone Finder. However, I was so convinced that the idea for the skill was useful that I wanted to complete it under all circumstances. Thus, I had to learn a lot about AWS, including Lambda, RDS, Cloudwatch and many more. Also, I had never programmed in Java or for Android before. Consequently, I had to pick up a complete new skill-set for that. This was my biggest challenge, as the App had to be as simple as possible but also as robust as possible so that it can run under virtually all Android devices out there.
Accomplishments that I'm proud of
The Skill has many tens of thousands monthly users all around the globe and the Android App has more than 100k downloads in the Google Play Store. It is available in almost all languages that are supported by Alexa. This is something I couldn't have dreamt of as somebody attempting to develop not only his first proper Alexa Skill but also first ever Android App at the same time. More recently, with the addition of ISP there are many customers buying the Premium version. This shows that customers value the added functionality and appreciate the skill. However, the accomplishment I'm most fond of is the positive feedback I regularly receive and the feeling that my Skill has added a real value to Alexa.
What I learned
I've improved my programming skills dramatically including writing better Python code and learning to write code for Android. I've gained solid experience in using multiple AWS services and Google Firebase. Moreover, I've learned a lot about building Voice Apps that are not only robust but also easy to use and can be quickly understood by even non technical people. For that, I had to think a lot about how people interact with this new technology and focus on simple and concise solutions.
What's next for Phone Finder Premium
I'm looking forward to be able to publish ISP to new markets as ISP gradually gets rolled out in more and more countries all over the world. I hope that this submission, which targets Spanish (US), is followed by many more!