The Challenge
The theme of the 2017 Twin Cities Startup Week Hackathon was artificial intelligence. How might we make a positive social impact using Nexosis' Machine Learning API?
The Solution
A web app which uses artificial intelligence to predict life expectancy.
The Design Process
Define the Problem
I Didn't Have a Team & Didn't Know Much About AI
It was the morning of Friday the 13th when I showed up to the Twin Cities Startup Week Hackathon without a team, no idea how artificial intelligence actually worked, and most importantly- I couldn't code. So what was I doing there? My hope was to find a team of developers that could use a user experience designer. To my surprise, most of the teams already had designers on them. What's a person to do?
Who Do I Sit With?
As I looked around the auditorium I realized I had three options:
• Join a team already with a designer and be redundant.
• Join a team without a designer and work on a project I didn’t find exciting.
• Sit with the Nexosis employees sponsoring the event and learn more about their machine learning API.
I chose the latter. At first, it felt like that old school cafeteria conundrum and I was stuck sitting with the teachers.
Interview A Data Scientist About AI
For the next two hours I interviewed the Nexosis data scientists and engineers about AI. They taught me about their API and encouraged me to search through datasets at kaggle.com. They were patient with me and eventually we were bouncing ideas back and forth.
I Didn't Have a Team & Didn't Know Much About AI
It was the morning of Friday the 13th when I showed up to the Twin Cities Startup Week Hackathon without a team, no idea how artificial intelligence actually worked, and most importantly- I couldn't code. So what was I doing there? My hope was to find a team of developers that could use a user experience designer. To my surprise, most of the teams already had designers on them. What's a person to do?
Who Do I Sit With?
As I looked around the auditorium I realized I had three options:
• Join a team already with a designer and be redundant.
• Join a team without a designer and work on a project I didn’t find exciting.
• Sit with the Nexosis employees sponsoring the event and learn more about their machine learning API.
I chose the latter. At first, it felt like that old school cafeteria conundrum and I was stuck sitting with the teachers.
Interview A Data Scientist About AI
For the next two hours I interviewed the Nexosis data scientists and engineers about AI. They taught me about their API and encouraged me to search through datasets at kaggle.com. They were patient with me and eventually we were bouncing ideas back and forth.
Ideate a Solution
The Most Important Question Ever, 'How Long Will I Live?'
The goal of the Hackathon was to create something for the better good. My first idea was to make an app that would take in the top ways Americans fear they’re going to die (terrorism, mass shooting, shark attacks) and compare them to how people are really dying (heart attacks, cancer, car accidents) and then predict the exact way you’re going to die. A “What should I really worry about?” app. The Nexosis team explained to me how that would be outside the scope of a 7-hour hackathon, but in the future that would be a feature their API could handle easily. It would be best if I could come up with one dataset that would spit out an integer. So I pivoted to the CDC’s U.S. mortality dataset with the goal of the predicting life expectancy. This is when I had to confront my limitations.
The Most Important Question Ever, 'How Long Will I Live?'
The goal of the Hackathon was to create something for the better good. My first idea was to make an app that would take in the top ways Americans fear they’re going to die (terrorism, mass shooting, shark attacks) and compare them to how people are really dying (heart attacks, cancer, car accidents) and then predict the exact way you’re going to die. A “What should I really worry about?” app. The Nexosis team explained to me how that would be outside the scope of a 7-hour hackathon, but in the future that would be a feature their API could handle easily. It would be best if I could come up with one dataset that would spit out an integer. So I pivoted to the CDC’s U.S. mortality dataset with the goal of the predicting life expectancy. This is when I had to confront my limitations.
Make a Plan
Find a Developer ASAP
I needed a developer so I slacked out a message to my school's alumni developer channel. Within 45 minutes Hogan McDonald arrived. As he walked in he informed me that he'd recently completed an online machine learning certification course.
Assign Roles Between Two People
I would design the interface and clean the data tables.
Hogan would build a backend to interact with the Nexosis API and connect to AWS.
Cleaning Data Tables Requires Judgement Calls
In 1993 the U.S. Government started taking a much more detailed account of it's citizens education level at time of death. What this meant was we had data collected using two different scales. When I discovered this I asked the data scientist what they do. She I could either convert the data to use the same scale or toss out one set. For this app to work I had to make choices which will likely lower it's accuracy. Because converting the data would: take time we didn't have, require making many choices, and open us up to errors; I decided to toss out the smaller dataset collected after 1993.
Find a Developer ASAP
I needed a developer so I slacked out a message to my school's alumni developer channel. Within 45 minutes Hogan McDonald arrived. As he walked in he informed me that he'd recently completed an online machine learning certification course.
Assign Roles Between Two People
I would design the interface and clean the data tables.
Hogan would build a backend to interact with the Nexosis API and connect to AWS.
Cleaning Data Tables Requires Judgement Calls
In 1993 the U.S. Government started taking a much more detailed account of it's citizens education level at time of death. What this meant was we had data collected using two different scales. When I discovered this I asked the data scientist what they do. She I could either convert the data to use the same scale or toss out one set. For this app to work I had to make choices which will likely lower it's accuracy. Because converting the data would: take time we didn't have, require making many choices, and open us up to errors; I decided to toss out the smaller dataset collected after 1993.
How Should We Ask the Gender Question?
The government data was binary, but we wanted to respect non binary individuals. Hogan and I talked about how we should ask people to input their gender into this app. We agreed to create a category called "Other". So, what should happen when the user selects "Other"?
Options for how the app will interpret "Other":
We decided that when the user selects "Other" the input is 0 and has no effect on the outcome. Was that the correct choice? Are we lowering the accuracy of our tool for the sake of appearing to be more tolerant? I'm not sure, maybe. In the end this app is only for fun and not including "Other" felt like it would be making a statement of intolerance.
The government data was binary, but we wanted to respect non binary individuals. Hogan and I talked about how we should ask people to input their gender into this app. We agreed to create a category called "Other". So, what should happen when the user selects "Other"?
Options for how the app will interpret "Other":
- It secretly selects male (1).
- It secretly selects female (2).
- It selects both male and female (1,2).
- It selects neither gender (0).
We decided that when the user selects "Other" the input is 0 and has no effect on the outcome. Was that the correct choice? Are we lowering the accuracy of our tool for the sake of appearing to be more tolerant? I'm not sure, maybe. In the end this app is only for fun and not including "Other" felt like it would be making a statement of intolerance.
Execute the "Death App"
Wireframes & Mockups Are the Blueprints For the Project What is this going to look like? I began drawing out some possibilities:
I created a tombstone illustration in Sketch and saved it as a PNG file so it would be responsive. Then I looked for a font on Google Fonts and chose Carter One because of it's intense, comic feel. |
Finish & Presentation
When time was up we had a working web application with a simple interface. It asked for your gender, marital status, and level of education. Then using machine learning it predicted the date and time of your death. We presented our webapp to the judges and to the other teams. In the end the hackathon judges awarded us second place!