Meet Ayla

Ayla (previously known as Jarbas) is my own custom personal assistant, running on top of a Node.js server and controlled via a Windows Phone app or the web. I'm publishing its source code here for anyone who's interested in getting some ideas, but please note that I'm not coding Ayla to be a totally generic software. It is quite tailored to my personal needs, although it should be quite easy to customize it to your own.

What she does

Ayla will download, parse and act upon data from a multitude of services and devices. Facebook, Fitbit, Garmin, Netatmo, Ninja Blocks, Outlook.com, Toshl, Weather Underground... to name a few.

A few examples of what she does (or will do in a near future)

  • Identifies that I just arrived home. If it's dark (before sunrise or after sunset) it will turn on the lights automatically. Same thing when I leave: if there's no one home anymore, turn off the lights.
  • Check that my house door was opened on a time it shouldn't (for example weekdays during working hours), so it turns on the webcam on the living room and sends a screenshot to my mobile phone.
  • Monitors house temperature, humidity and CO2 levels and control heatings and fans individually to keep house climate on the desired levels.
  • Check that I haven't set sleep data 2 days ago, so remind me to add it manually on the Fitbit website.
  • At 9am it reads that it's gonna rain at a time I have planned to run at the park, so it sends a notification to my phone reminding me to bring my running jacket to work.
  • Fetch invoices and general documents sent to my email. If relevant, send a copy of the invoice to my Shoeboxed account to be parsed.
  • Fetch pictures and images sent to my email. If coming from a friend, automatically save these pictures to my OneDrive account.

List of integrated services and devices

  • D-Link DIR-860L (admin html scraper)
  • Electric Imp (Hannah dev board and website API)
  • Facebook (website API)
  • Fitbit (Flex and website API)
  • Garmin Connect (html scraper)
  • Garmin Edge 510
  • Garmin vivofit
  • GitHub (website API)
  • Microsoft Surface RT
  • Netatmo (weather station and website API)
  • Ninja Blocks (block, various RF 433 sensors and website API)
  • Nokia Lumia 720
  • OneDrive (website API)
  • Outlook.com (IMAP)
  • Philips hue (bridge API)
  • StatusCake (website API)
  • The Ubi (website API)
  • Toshl (app and website API)
  • Weather Underground (website API)
  • Withings (Smart Body Scale and website API)

Want more info? Check the documentation.

Enjoy :-)

Last edited Jul 4 at 12:54 PM by igoramadas, version 13