Ché Armstrong

I'm an experienced, product-minded, software engineer. I have strong background in JavaScript, and voice-first solutions for Amazon Alexa, Google Assistant and Bixby. I'm passionate about technology, customer-focused and enjoy a challenge. I love using technology to find simple solutions to complex problems, while learning new skills that help me do that.

  • About Me
  • Projects
  • Contact

About Me

I'm a product-minded full-stack software engineer, with a slant towards the back-end, and a keen interest in DevOps.

I'm currently working as the Tech Lead on Purepoint's Voice Team, working on Amazon Alexa and Google Home integrations for Hive's smart home products.

I've passed my AWS Certified Alexa Skill Builder exam, and I'm a Samsung Bixby Premier Developer.

As well as writing and reviewing code, my day to day tasks include making key technical decisions, overseeing architecture, and attending regular meetings with Amazon, Google and key stakeholders.

I also contribute to architectural and technical decisions for other Purepoint projects.

My skills

  • JavaScript (ES6+)
  • Node.js
  • Amazon Web Services (AWS)
  • Serverless framework
  • Amazon Alexa (smarthome & custom skills)
  • Google Assistant (smarthome actions)
  • Alexa Skills Kit (ASK) SDK
  • Samsung Bixby (capsules)
  • React
  • MongoDB
  • Git
  • Jenkins

Current location

Recent Projects

Stream Picker Bixby Capsule

In late 2019, Samsung organised the Bixby DevJam competition, inviting developers globally to create new capsules (voice apps) for their Bixby voice assistant.

I was a runner up, coming 3rd place overall, with my Stream Picker capsule.

My capsule uses some 3rd party APIs (Just Watch and TMDB) - users can ask Bixby to recommend something to watch from their streaming provider (such as Netflix or Prime Video).

I took the learnings from creating my Movie Critic capsule, and created a multi-modal experience, where the user can view details, images and also trailers (where available) for content available to stream on the supported providers.

I also include a link that takes the user directly to the streaming provider, so they can watch the content.

As part of this work, I refactored and extended the API I originally created for my Movie Critic project, to fetch videos from YouTube - I added a number of improvements to help me solve some challenges I had in fetching the trailers.

  • bixby
  • javascrtipt
  • node.js
  • aws
  • serverless
  • lambda
  • api gateway

Movie Critic Bixby Capsule

I recently became a Samsung Bixby Premier Developer and published my first Bixby Capsuple, Movie Critic, based on my Alexa skill of the same name.

I used the dedicated Bixby Studio IDE to create and test my capsule, including the creation of the voice mode and bespoke JavaScript code.

Bixby offers a multi-modal experience, and I wanted to include movie trailers and poster images in my respones - the capsule uses the Trakt API to fetch the core movie data to be used in the skills responses, along with the TMBD API for posters.

For movie trailers, I needed a bespoke solution created my own serverless API (AWS API Gateway + AWS Lambda), which I've since shared with other Bixby developers - Bixby capsules have some limitations (like not being able to use NPM modules), so my API gives me a simple way to be able to do what I need externally of the capsule code. The API uses the ytdl-core module to get video URLs from YouTube, and is deployed to AWS using the Serverless framework.

  • bixby
  • javascript
  • aws
  • api gateway
  • lambda
  • serverless
  • youtube

Amazon Alexa and Google Assistant for Hive

Hive customers can control smart home devices (including thermostats, bulbs and plugs) using their voice, via Amazon Alexa or Google Assistant.

This is an ongoing project, where I'm the Technical Lead on the Voice Team, working closely with both Amazon, Google and other teams within Hive.

I’ve ensured we have not only delivered a number of new features, but also a number of improvements such as reducing response latency, improving UX by adding custom intents to a smart home skill (the first UK partner to launch this), supporting new Hive devices, CI/CD improvements (using tools such as Serverless and Zeit's NCC) and major rafactoring (to improve code quality).

More recently we implimented Report State for Google. Due to the challenges of Hive's architecture (the hub in the customer's home is the source of truth), we needed a way to receive state updates from each individual hub, before transforming it and sending to Google's Homegraph API. I implimented our solution that makes use of AWS products such as Kinesis, SQS, DynamoDB and Lambda - this gives flexibility and room to scale.

  • Node.js
  • JavaScript
  • Ramda
  • Serverless framework
  • Alexa
  • Google Assistant
  • ASK SDK
  • AWS
  • Google Homegraph API
  • IoT

Electrolux Google Action (for IFA, Berlin)

Purepoint were asked by Electrolux to create a smart home action for Google Assistant, to be debuted at 2018's IFA in Berlin.

The action showcased the control of an oven, using voice, with Google Assistant.

My role on the project included architectural decisions and documentation, writing code, as well as reviewing pull requests from other team members.

  • Node.js
  • JavaScript
  • Google Actions
  • Ramda
  • IBM CloudWhisk
  • Serverless framework

Movie Critic Alexa Skill

Movie Critic is a custom Alexa skill that you can use to get movie recommendations, movie ratings and movie details. It was personal project, and the first Alexa skill that I created - the aim was to get familiar with building skills using the ASK SDK for Node.js.

The skill uses the Trakt API to fetch movie data to be used in the skills responses.

Since launching the skill I've made various updates and improvements, such as upgrading from v1 to v2 of the ASK SDK, improving the voice interaction model, as well as some general refactoring and CI/CD improvements.

The next step is to make the skill more of a multi-modal experience, and making use of the Alexa Presentation Language (APL) interface.

  • Node.js
  • JavaScript
  • Serverless framework
  • Alexa
  • ASK SDK
  • AWS
  • Trakt API
  • GitHub Actions

More projects coming soon...

Contact

  • Twitter
  • Medium
  • GitHub
  • Stack Overflow
  • LinkedIn

View source on GitHub

© 2020 Ché Armstrong