We as a society deal with the huge problem today. Today, there is 30 millions of Americans and 300 million people worldwide, suffering from diabetes type 2. Diabetes is hard. It’s complex, it’s expensive, it’s very difficult to manage.
There is already a huge market for managing diabetes. Most of the products focus on the helping people eat healthier, log their calories, workouts. However, there is one piece of the puzzle that people seem to forget: Diabetes is not a sprint, but marathon and people need constant help, guidance from their doctors and support and encouragement from their parents, friends and loved ones.
We realized that Alexa can have a potential to greatly improve the way patience communicate with doctors and friends.
What it does
People suffer from diabetes can already log lots of data (calories, carbs, sugar level etc), but for normal people , especially the ones that were just diagnosed with the disease it is very hard to gain valuable insights. Patience need a doctor to look at the data, analyze and make recommendations regarding the current state of the patience.
People can use Alexa to ask Logster to record their sugar readings or to fetch some of the collected data from your journal and send it to your doctor or family. It creates a interactive graph in web application where your can see all recorded events.
You can either say all request in one sentence or have a conversation with Alexa when it will ask you for necessary details. It also supports many different natural variations of the same phrase so you shouldn't think about saying the exact command.
More specifically the dialog with Alexa can be something like this:
Person: "Alexa, ask Logster to send a report" Alexa: "For what period of time?" Person: "For the last 10 days" Alexa: "Who should I send report to?" Person: "My doctor" Alexa: "Ok, report sent to your doctor"
How I built it
- Nodejs + Express + postgre to manage routes and store the data
- 'Alexa-app' and 'gmail-send' npm packages to create custom Alexa Skill
- Hosted on Heroku
- AngularJS + MaterialJS
Challenges I ran into
The main challenges were pretty much only about setting up Alexa Echo device:
- Amazon Echo requires US Amazon account in order to properly install custom skill
- In order to write custom Alexa Skill you need Amazon AWS account and Amazon Lambda functions. In order to prove your identity on Amazon AWS, you need to give your phone number and let Amazon call you with PIN confirmation. However, it seems like Amazon can't make a call to Germany, which leads to inability to use Lambda functions. In this situation we had to create our own fully functional server with signed SSL.
After that, the development went pretty smoothly.
Accomplishments that I'm proud of
We had 3 developers in our team and I think after setting up Alexa Echo device we managed to set up very smooth workflow and very clear separation of responsibilities.
What I learned
- Creating custom Alexa skill is actually pretty simple and fun
- Smooth workflow and separation of responsibilities between developers is extremely important in order to complete the work
- You can find npm package for pretty much anything
- Heroku is a great service for hosting your small hobby projects with lots of really useful features, which essentially abstract all the unnecessary details so that developers only focus on writing code
What's next for Logster
- Add more sophisticated graphs and tables
- Third party integration with glucose meters, fitness trackers, food logging apps