I got an Echo Dot and my family and I loved it. They used it to play music and jeopardy, and I used it to turn lights on and off and other geeky things. It was better than any other voice recognition systems I'd used. I was happy to find a new practical cheap technology. I knew I had to try to develop an Alexa Skill, so I started researching.

What it does let's you install an agent on a computer, configure commands you want to be able to run remotely, then trigger them to run via the website. The Alexa skill let's you trigger the commands with your voice. You can say something like, "run Reboot on Office PC" and it will reboot your PC at the office.

How I built it

I was trying to learn how to do real-time communication across devices with a server in the middle. I discovered websockets, then Sails.JS which includes a nice javascript library for websockets. I got some help from a guy in India via Fiverr who gave me a great head-start on a Sails app that I could build on. After I made a bunch of progress building the server and agents to connect to it, I had the same guy add Oauth2 for Alexa's account linking.

Challenges I ran into

Deciding which software to base my project on was a challenge, but I'm happy with my choices - Node.JS, Sails.JS, and Electron for the agents. These are all javascript based.

Many of my challenges were solvable with a node module, including the Alexa integration, which is why I'm happy with my choices. I was worried when I got Alexa feedback, "the skill end-point is not validating the signatures for incoming requests and is accepting requests with an invalid signature URL specified," but I quickly found the "alexa-verifier" node module which solved the problem easily.

The guy in India's English wasn't perfect, so we had to work through that when we had misunderstandings.

I also spent many hours trying to solve little problems like how to change colors on the website, which seems like it should be so easy but it wasn't.

Accomplishments that I'm proud of

As a new JavaScript programmer, I'm proud to have an Alexa Skill that's practical to use.

What I learned

I learned that building an Alexa Skill is not as difficult as I thought. Even I can do it.

What's next for TRIGGERcmd

  1. Improve the documentation.
  2. Setup a forum for tech support, feedback, ideas, and peer-to-peer support.

Built With

Share this project: