## Inspiration

This game was inspired by old-school choose your own destiny games like Dungeons & Dragons or House of Danger, but with a small mobile game twist linked to it!

## What it does

The game works exactly like those old school games, but entirely on one's phone! There will first be a prompt describing a certain situation, and the player will get to answer anything he or she or they want in return. Then, that answer will be analyzed by a NLP model in order to determine the most likely outcome of that decision. Finally, the game sends the outcome by text to let the player continue their story.

## How we built it

The big two components of this project are Twilio and co:here.
Using Twilio, the computer is able to first send a prompt to the player's phone, and the player is able to reply with their own unique answer. Once the computer receives that information back using Twilio, it is then uploaded to co:here in order to use their NLP model and classify the sentence. Depending on the key words used, the model will send back a code corresponding to the most likely outcome of that action. Finally, that "outcome" prompt is sent back to the player's phone by text to allow them to continue their adventure.

## Challenges we ran into

The biggest challenge we ran into was setting up the two way communication between the computer and the phone. Indeed, the computer would upload a message to Twilio which would then send it to our phone. However, our phone had to upload its reply to Twilio, which then sent it to a public server. Finally, our computer had to access that server to collect the information. Needless to say, for a team of newbies, it was extremely difficult to learn the whole process of setting this system up, and we are very thankful to the mentors who were present to clarify the steps.

## Accomplishments that we're proud of

We are very proud of setting up the two way communication system between our computer and our phone, using Twilio. Indeed, it was a hurdle to setup the public server from which our computer could collect the player's text reply. But as a team of amateurs, seeing our game play out so fluidly and by texting is really cool!

## What we learned

We learned a lot on communications between the computer, the phone, and online servers like Twilio as well as the proxies in between. Setting up this whole system is far more familiar now. We also saw how adding varying kinds of training data affected the accuracy of the NLP model, as well as the accuracy of the classification.

## What's next for Choose your Destiny - Mobile and NLP!

If time were not a factor, then we would implement an option at the very beginning to choose different stories to explore. We would also add images to the game's replies to make the adventure and story more vivid. Most importantly, with enough motivation, we would also work on and improve the NLP model with far more training data so that the classification is more accurate.
## Inspiration

Natural disasters are getting more common. Resource planning is tough for counties, as well as busy people who have jobs to go to while the storm brews miles away. DisAstro Plan was born to help busy families automate their supply list and ping them about storm updates in case they need to buy earlier than expected.

## What it does

## How I built it

## Challenges I ran into

## Accomplishments that I'm proud of

## What I learned

## What's next for DisAstro Plan
## Inspiration

CookHack was inspired by the fact that students in university are always struggling with the responsibility of cooking their next healthy and nutritious meal. However, most of the time, we as students are always too busy to decide and learn how to cook basic meals, and we resort to the easy route and start ordering Uber Eats or Skip the Dishes. Now, the goal with CookHack was to eliminate the mental resistance and make the process of cooking healthy and delicious meals at home as streamlined as possible while sharing the process online.

## What it does

CookHack, in a nutshell, is a full-stack web application that provides users with the ability to log in to a personalized account to browse a catalog of 50 different recipes from our database and receive simple step-by-step instructions on how to cook delicious homemade dishes. CookHack also provides the ability for users to add the ingredients that they have readily available and start cooking recipes with those associated ingredients. Lastly, CookHack encourages the idea of interconnection by sharing their cooking experiences online by allowing users to post updates and blog forums about their cooking adventures.

## How we built it

The web application was built using the following tech stack: React, MongoDB, Firebase, and Flask. The frontend was developed with React to make the site fast and performant for the web application and allow for dynamic data to be passed to and from the backend server built with Flask. Flask connects to MongoDB to store our recipe documents on the backend, and Flask essentially serves as the delivery system for the recipes between MongoDB and React. For our authentication, Firebase was used to implement user authentication using Firebase Auth, and Firestore was used for storing and updating documents about the blog/forum posts on the site. Lastly, the Hammer of the Gods API was connected to the frontend, allowing us to use machine learning image detection.

## Challenges we ran into

* Lack of knowledge with Flask and how it works together with react.
* Implementing the user ingredients and sending back available recipes
* Had issues with the backend
* Developing the review page
* Implementing HoTG API

## Accomplishments that we're proud of

* The frontend UI and UX design for the site
* How to use Flask and React together
* The successful transfer of data flow between frontend, backend, and the database
* How to create a "forum" page in react
* The implementation of Hammer of the Gods API
* The overall functionality of the project

## What we learned

* How to setup Flask backend server
* How to use Figma and do UI and UX design
* How to implement Hammer of the Gods API
* How to make a RESTFUL API
* How to create a forum page
* How to create a login system
* How to implement Firebase Auth
* How to implement Firestore
* How to use MongoDB

## What's next for CookHack

* Fix any nit-picky things on each web page
* Make sure all the functionality works reliably
* Write error checking code to prevent the site from crashing due to unloaded data
* Add animations to the frontend UI
* Allow users to have more interconnections by allowing others to share their own recipes to the database
* Make sure all the images have the same size proportions