## Allercery

No longer will anyone have to worry about allergic reactions because they're too lazy to read through the ingredients for each and every food item they would like to buy. Introducing Allercery, the app that tells you what foods you can and cannot eat based on nothing more than a picture and your allergies. Using optical character recognition and image classification, Allercery can deduce the foods that are safe for you from a single picture. Now being deathly allergic and lazy can go hand in hand for everyone.

Disclaimer: we are not responsible for any death or serious injuries from misusing Allercery with little to no thought.
## Inspiration

There are so many foods out there that we all want to explore. Unfortunately, access to a list of ingredients might not always exist for a variety of foods; not all restaurants even identify ingredients such as peanuts and treenuts. Allertgen was built to allow everyone to stay safe while exploring the world of cuisine available!

## What it does

Allertgen allows users to upload a photo of either a menu **or** a food item, along with a set of allergens to watch for. If a menu is uploaded, the web app reads all detected text, translates the text as needed, and saves the text representing food items. If a food item picture is uploaded, then the web app will label the food item provided using a machine learning model. Information on this/these food item(s) is then obtained from common recipes, and the list of ingredients obtained is compared to the identified allergens. It then alerts the users if they have allergies to watch out for!

## How we built it

After having planned out the design flow, we sketched out our designs using **Figma** to build the UI using **HTML/CSS**. The majority of the back-end of our program was built using **Python**, which facilitated the use of Google Cloud for image classification (including building and training a machine learning model using **Google Cloud's AutoML**), and text detection/translation with **Google Cloud's Vision API** and **Google Cloud's Translation API**. We also used **Google Cloud's App Engine** with **Flask** in order to integrate the Python back-end with the HTML/CSS front-end.

## Challenges we ran into

None of us had used Python or the Google Cloud platform extensively, nor had any of us used Flask at all before. This made major components of the project a challenge, as we had to learn while building the web app. Further, since we had so many different parts to be combined, we ran into multiple server/path issues when trying to integrate them all into one app.

## Accomplishments that we're proud of

We're very proud of this project - we managed to design and create a mostly-functional app in 24 hours, and along the way, we all picked up significant new portions of knowledge. It was also a project that we felt could significantly enhance the quality of life for people we knew that had specific allergies.

## What we learned

Working extensively in the terminal/command line as well as deploying Google Cloud applications! It was also a big learning curve to successfully integrate front-end components with back-end components for a full-stack web app.

## What's next for Allertgen

More comprehensive image classification in order for machine learning model to be more accurate. As well, see if there's a possible way of making the translation results better while not significantly compromising on run-time. Overall, a great learning experience!
## Inspiration

Ordering delivery and eating out is a major aspect of our social lives. But when healthy eating and dieting comes into play it interferes with our ability to eat out and hangout with friends. With a wave of fitness hitting our generation as a storm we have to preserve our social relationships while allowing these health conscious people to feel at peace with their dieting plans. With NutroPNG, we enable these differences to be settled once in for all by allowing health freaks to keep up with their diet plans while still making restaurant eating possible.

## What it does

The user has the option to take a picture or upload their own picture using our the front end of our web application. With this input the backend detects the foods in the photo and labels them through AI image processing using Google Vision API. Finally with CalorieNinja API, these labels are sent to a remote database where we match up the labels to generate the nutritional contents of the food and we display these contents to our users in an interactive manner.

## How we built it

Frontend: Vue.js, tailwindCSS
Backend: Python Flask, Google Vision API, CalorieNinja API

## Challenges we ran into

As we are many first-year students, learning while developing a product within 24h is a big challenge.

## Accomplishments that we're proud of

We are proud to implement AI in a capacity to assist people in their daily lives. And to hopefully allow this idea to improve peoples relationships and social lives while still maintaining their goals.

## What we learned

As most of our team are first-year students with minimal experience, we've leveraged our strengths to collaborate together. As well, we learned to use the Google Vision API with cameras, and we are now able to do even more.

## What's next for McHacks

* Calculate sum of calories, etc.
* Use image processing to estimate serving sizes
* Implement technology into prevalent nutrition trackers, i.e Lifesum, MyPlate, etc.
* Collaborate with local restaurant businesses