We ALL need to eat; and our DNA can tell us a lot about the foods we like and the foods we don't. Everyday we're moving toward a world where every user experience is custom tailored. I built a food matching engine (mobile app) that introduces users to curated snack foods based on their DNA.
What it does
- Displays a unique set of snacks based on the DNA traits of a user.
- These traits include: (milk allergies, peanut allergies, carb intake, protein intake).
- For example, someone likely to have a milk allergy will not be shown snacks with milk in them.
The "Snack" Matching Algorithm
Users are given 1 of 5 snack profiles based on the results of their protein intake and carb instake. Each snack group currently has 10 hand picked snacks in them.
- Group A: 'Low Carb & Low Protein'
- Group B: 'High Carb & Low Protein'
- Group C: 'Regular Carb & Regular Protein'
- Group D: 'Low Carb & High Protein'
- Group E: 'High Carb & High Protein'
Once the snack group has been assigned, the
peanut allergy and
milk allergy report are compared. If there is an increased likelihood for any one of these allergies, those corresponding snacks are removed.
How I built it
The main tools for this project were Serverless (api framework), Amazon AWS (lambda), React Native (mobile development kit), & Expo (mobile framework).
Challenges I ran into
- The matching algorithm for each snack. It was difficult finding a way to separate users into distinct "taste profiles".
- Curating the snacks took a lot of time. Each snack had to have lots of static details provided (milk contents, peanut content) and calculated details (ie: protein by weight, carb by weight).
What I learned
After this project I've learned all the amazing user data we can extract from our DNA. It's clear that product matching related services will only become more mainstream. I look forward to building more DNA related projects in the future.
What's next for Snacktime
- Curating more snacks (and adding new types, ie: drinks). The app increases in usefulness as more relevant food products are added.
- Deploy the app to the Google Play & Apple app store.