https://www.textalexa.tech THIS DOMAIN IS NO LONGER ACTIVE.
The Amazon Echo and it's Alexa assistant are designed to provide hands-free access to information and internet-connected tools. There are several skills (applications) created by third parties that add their tooling to the Echo, but there is nothing on the market currently that allows text messaging.
We have limited experience with several areas in this project and felt that we could learn new technologies around the Amazon Alexa Skills Kit, AWS Lambda products, and creating a single-sign-on system to interact with the device.
What it does
Text Alexa allows you to upload your contacts to our online service via an Android or iOS app, connects your online TextAlexa account to your personal Amazon device via single-sign-on, and allows you to send text messages to your contacts uploaded previously.
How we built it
The project is split into several portions:
- Mobile Applications
- Node.js API
- AWS Lambda Project
This API includes the logic to authenticate a user with their Amazon Echo device. It also handles the account creation and authentication needed to upload their contacts. This web service uses Bcrypt to encrypt passwords along with sqlite for quick and easy data storage.
AWS Lambda Project
AWS Lambda provides an interface that allows us to upload our NodeJS code for our Custom Alexa Skill, install the new skill on an Amazon Echo device, and run the code in response to the designated skill wake word
Built With: DigitalOcean, Nginx, Alexa Skills Kit
Challenges we ran into
The majority of our challenges centered around the Amazon Alexa Skills Kit. Their documentation is lacking to say the least. Getting the device to recognize certain speech patterns and implement a specific type of implicit key authentication was a fun challenge to tackle.
We also had our first digital ocean droplet hacked :/
Accomplishments that we're proud of
We were able to finish a feature-complete project in just 2 days while also learning several new technologies! Getting AWS Lambda functions to work was also exciting due to the cost savings of this type of development and use cases with scalable computing.
What we learned
AWS documentation needs some work. Don't enable root access to a machine, even for 30 seconds.
What's next for www.textalexa.tech
Upgrade the DBMS from sqlite to MariaDB or Postgres to allow for phonetic text search for miss-spellings coming from the Amazon device.
Include encryption for uploaded phone numbers.
Add web-admin section to allow users to edit their uploaded contacts.