Turn your DNA insights into athletic success.
I like to think of sports akin to machine learning models. Athletes are currently restricted to using data-sets that may have worked in the past for people who do not have the same genetic customization as them, leading them to be at only a percentage of their true abilities. Imagine if Lebron James followed Michael Phelps's dietary restrictions and daily workouts? He'd be miserable!
Inspired by the genetic insights that GenomeLink provides for imported data, I've decided to venture a step further into the sports' world by making your reports actionable. With the help of Facebook messenger bot, student athletes now have a conversational coach that 1) creates a profile for them based on user-inputted data and GenomeLink's report parameters and 2) prepares a training regime for them based on DNA traits like blood glucose levels, BMI, weight, height, etc, etc...
Many people think the future of athletic training is in augmented reality, but I believe the future is in actionable DNA.
How I built it
This is my first time working with GenomeLink API, so I signed up for a developer account and read through the guide as well as the example repos on GitHub to figure out what I was working with. I had to scrap my original plans of making my submission into a iOS app but nevertheless the messenger bot still added a sweat touch.
I created the Scoreboard API in Node.js using Express as the framework and also solved a problem with the environment [in setting credentials] others had been experiencing. After babelifying the web app, I deployed it to Heroku and started working on the bot in ChatFuel.
I chose ChatFuel because if I had gone the route of
Wit.ai I'd still have to work with an additional third party API and I wanted this to be simple as possible. ChatFuel allowed me to use AI with my bot and deploy extremely quickly to Facebook Messenger, so kudos to them!
Challenges I ran into
Bruh. I should've known that Facebook would be slow with the page name changes, but they completely deactivated the old Scoreboard bot because it was registered under a brand new account. I had to connect the Chatfuel account to another account, which took like ~2 additional days. But that worked out.
As for the GenomeLink API, it was pretty simple and intuitive. I struggled with getting the details of the
score parameter in the
reports response, but I made peace with that and just loaded all the other data into my Node.js web app. Importing data directly in the bot from the Scoreboard website was simple due to Facebook Messenger's ease with taking in parameters.
I probably should've used a
.env file in the directory of the Scoreboard web app as opposed to setting the credentials in the
main.js file, but it was better than just typing it into the terminal after deploying.
What's next for Scoreboard + GenomeLink?
I look forward to finishing up this bot with more response actions + finishing up the web app and putting it into production, as this is just a MVP. I'd also like to create that iOS app I mentioned earlier for users to have daily updates on their athletic regime/health via Scoreboard with DNA reports data syncing from GenomeLink.
In the future, I'd also like to work on a secondary web app that gamifies that insights GenomeLink offers directly. I believe that if one were to gamify the dashboard and added actions to the data, it would improve the overall experience for the end user.