Demo / Presentation

For the full demo using Alexa Simulator, see this video: Demo

For the presentation slide, see this site: Slide

Inspiration

I'm a person who loves to manage my personal finance. In the Philippines, our currency is Peso but I have a dollar account as well in my bank (Banco de Oro or BDO). I also have some dollar investments and there are times, though not usually urgent, I do have the need to withdraw and convert some amount to Peso. And during those times, I would like to know the following:

  • Is it a good time to convert my dollar to peso?
  • How much is the actual rate right now? Not the one provided by search engines or other forex sites.
  • What's the current trend? Is it going up or down?

Having the correct exchange rate also helps me in making sure that my personal financial statement or net worth will reflect the right amount.

What it does

Currently, my skill allows you to do the following:

  • Check for the latest exchange rates of some currencies listed in BDO Forex page
  • Convert an amount between any currencies using the Buy and Sell rates
  • Adjust those rates if needed (and can be reset too)
  • Ask for more currencies via one-time payment (or entitlement)
  • See the information on a screen (if using Echo Spot, Show, Fire TV)

How I built it

I do not work for BDO, I'm just a typical client so I'm not sure if there's an API that I can better use to get their exchange rates. But right now, I just rely on their public page to get those rates: https://www.bdo.com.ph/forex. So I used a JavaScript library that can read a page and then manually parse the content by analyzing its DOM structure. I was able to actually reuse that parsing logic which was already implemented in my other skill: BDO Forex (Flash Briefing).

In order to qualify for an ISP, I just had to plan what features would be free and what should be premium. I decided to go with Entitlements for now but there might be better model which I might implement in the future. The USD currency is free while the other ones need to be purchased individually. An upsell will automatically be initiated if an entitled currency is tried to be used.

I basically used ASK SDK v2 for Node.js on everything and for implementing the ISP and APL. I also used S3 to store some images and Dynamo DB to store the historical rates and user sessions needed to improve the purchasing experience.

Challenges I ran into

This is my first skill where I learned and applied ISP and APL. Actually, this is my first official Custom Skill! It was indeed way more complex than a Flash Briefing! These are the challenges that I encountered:

  • How to do intent chaining well
  • How to ask user to fill in slots correctly
  • How to recover well after the Buy or Upsell connection request
  • How to support different screen sizes

Accomplishments that I'm proud of

I was somewhat proud when I released my first Alexa skill last Feb 2019. Right now, it has 71 unique cusomers, 144 enablements, and 1,350 plays. But man, Flash Briefing was so easy compared to a Custom Skill! Now that I have my first custom skill, I am more proud of myself now and I hope that this skill will do well for my existing install base too.

What I learned

I learned ways to solve the challenges I mentioned above. Some of them I think were best practice but maybe some of them are not but I will continue to improve, learn and find better ways.

What's next for BDO Forex

Though this skill is initially intended for my own use, I'm thinking that there might be other features that can increase its value and be a potential business. These are currently what I have in mind:

  • Support for more currencies (there are 19 currencies in BDO's page)
  • Provide nice trend graphs for historical and forecasting purposes (read: Machine Learning!)
  • Offer consumables that will allow user to pick a certain number of currencies (i.e. 5 currencies for a discounted price)
  • Offer subscription to continuously access more features such as news and promotions, reminders, comparison to other bank rates, etc.

Other potential next actions for me would be:

  • Pitch this to local banks and tell them that it's a good marketing platform and can boost their image
  • Find a business partner or mentor that can help in creating voice business

Built With

Share this project:

Updates