Baby Stats was built in 2016 when we had our first child. After investigating many other baby trackers out there I decided that they were too cumbersome (too many clicks), and didn't believe I should need to pay for one. My wife had bought me an Alexa, so I decided to create Baby Stats for us to use. Instantly we started getting reviews and requests. As time went on, more features were added and the product has grown based on requests from other parents.
What it does
Baby Stats started as just an Alexa skill. You could track information:
- add feeding 3 ounces
- add wet diaper
- add stool diaper
You could also ask information
- what time was the last feeding
- get stats for yesterday
- how many poops in the last 24 hours
Later a mobile app for iOS and Android were added. Then came Google Home, Cortana, Bixby, as well as a myriad of other enhancements asked for by the community.
Soon I wasn't the only baby tracker going hands free and other smart baby devices were being sold. In response I added support for IFTTT which allowed customers to use a Flic button so customers to create their own smart diaper pails. I've also had customers feed the data from Baby Stats to a Splunk instance for their own personal analytics, and I've had customers integrate Baby Stats into smart lights to start and stop sleep. The idea is to create an open platform for all smart baby tracking to occur.
How I built it
My backend service and website run in EC2 instances, developed in .Net, and Dynamodb tables for the database. I run Lambda functions that handle outbound requests to IFTTT as well as Dashbot and Voice Hero for analytics. The mobile apps use embedded browsers so I don't maintain different code bases. All requests from all devices go to my EC2 instances and it's a shared engine amongst all the different platforms. The code someone runs from the public API is the same that gets run in Alexa, and is the same that is run from mobile apps.
Challenges I ran into
The biggest challenge has been competing with the native functionality on Alexa. When they released the Baby Skill API they only allowed new skills or hand picked skills to join, excluding Baby Stats from it. Competing with native functionality is always going to be a little bit of an uphill battle. Baby Stats still continues to grow and still outperforms the skills that utilize the native functionality, but what happens is Alexa will suggest skills that support the native functionality when the invocation name isn't clear or forgotten.
Accomplishments that I'm proud of
I'm proud that I'm able to maintain a strong emphasis and relationship with the customer, and it makes me smile to read reviews praising my efforts.
What I learned
It's reinforced my belief that if you make sure the customer always comes first good things will come. Just simple things like responding to an email, offering them the ability to message you on social media, an even having sufficient help documentation goes a long way.
What's next for Baby Stats
It'll be exciting whatever it is!