## Inspiration

Mental wellness and awareness is a key part of staying healthy. It's important to reflect and check in with yourself, identifying the things that make you sad, happy, angry, and anything in between. However, in an age where technology dominates our lives, we don't always make time to reflect.

## What it does

deScribe to allow people to express their emotions and reflect on their day by talking with Kiwi, a Google Assistant chat bot. Kiwi will ask you questions about your day, and through IBM Watson's sentiment analysis, we'll provide you with a report of your feelings, and why you may be feeling a certain way.

We record all of your sessions in an online web app, and provide you insight on your conversation – consider it journalling, without the pen and paper.

Over time, as you continue to talk with Kiwi, you can see your progress on a dashboard. Responses are analyzed for keywords, used to determine what made you sad, glad, or downright mad.

## How we built it

We built Actions for Google Home that consisted of a trained model to understand the emotions the user is feeling based on what the user says. Once the emotions were parsed, the model would choose an appropriate response for the user, similar to a real conversation. Using Google Cloud Functions, we created webhooks to listen to user response and load data into Firebase. We then run sentiment analysis on the user’s journal entry to determine key words, overall sentiment, and emotions. Our companion web application extracts the results of the sentiment analysis and displays the information on a dashboard.

## Challenges we ran into

* Training our model for Google Home to facilitate a natural and supportive conversation with the user
* Connecting the individual parts of our application

## Accomplishments that we're proud of

* Setting up a webhook with Google Cloud Functions that sends user response data to the server

## What we learned

* Planning is crucial to the success of a project, especially with a large one like deScribe where there are many components that need to be tied together

## What's next for deScribe

* Continue integration with all platforms to ensure seamless communication and better insights for the users.
## Inspiration

The phrase, "hey have you listened to this podcast", can be seen as the main source of inspiration for this project.

Andrew Huberman is a neuroscientist and tenured professor at Standford school of medicine. As a part of his desire to bring zero cost to consumer information about health and health-related subjects, he hosts the Huberman-lab podcast. The podcast is posted weekly, covering numerous topics all provided in an easy-to-understand format. With this, listeners are able to implement the systems he recommends with results that are backed by the academic literature.

## What it does

With over 90 episodes, wouldn't it be great to search through the episodes to have a deeper understanding of a topic? What if you are interested in what was said about a particular subject matter but don't have time to watch the whole episode? Better yet, what if you could ask the Dr. himself a question about something he has talked about (which people now can do, at a premium price of $100 a year).

With this in mind, I have created an immersive experience to allow individuals to ask him health-related questions through a model generated based on his podcasts.

## What problem does it solve

It is tough to find trustworthy advice on virtually any topic due to the rise of SEO and people fueled by greed. With this pseudo-chat bot, you can guarantee that the advice provided is peer reviewed or at the very least grounded in truth.

Many people append "Reddit" to their google searches to make sure the results they receive are trustworthy. With this model, the advice it provides is short, and to the point while removing the need to scour the internet for the right answer.

## How I built it

Frontend: NextJS (React) + ChakraUI + Three.js + ReadyPlayer (model and texture generation) + Adobe Mixamo (model animation)
Backend: Flask (Python)
Data sci: Pinecone (vector storage) + Cohere (word embedding, text generation, text summarization), nltk (English language tokenizer)

40 podcast episodes (almost ~35,000 sentences) were processed via the backend and stored on Pinecone to be called via Cohere. Once the backend receives a query request (question/prompt provided by the user):

1. A text prompt is generated based on Cohere's models (breaking down what the user meant)
2. The prompt is fed through their embedding, to embed the newly generated prompt (create something we can search the Pinecone db with)
3. Pinecone is queried, returning the top 10 blocks (sentences). Any block with an accuracy of over 0.45 is fed into the text summarization algorithm
4. Text is compiled, and summarized. The final summarized result is returned to the user.

## Challenges we ran into

tl;dr

* running the proper glb/gltf models while maintaining textures when porting over from fbx (three.js fun)
	+ rendering, and animating models properly (more three.js fun)
	+ creating a chat interface that I actually like lol
	+ communicating with Cohere's API via the provided client and running large batch jobs with Pinecone (time out, performance issues on my laptop)
	+ tweaking the parameters on the backend to receive a decent result

## Accomplishments that we're proud of

Firsts:

* creating a word-embedded model, or any AI model for that matter
* using Pinecone
* understanding how three.js works
* solo hack!
* making friends :.)

## What we learned

See above <3

## What's next for Ask Huberman

1. Allow users to generate text of X length or to click a button to learn more
2. Linking the text generated to the actual podcast episodes to watch the whole thing
3. Create a share feature to share useful/funny answers
4. Tweak the model output parameters
5. Embed amazon affiliate links based on what the answer is

## What would you do differently

* cut losses sooner with three.js
* go talk to the Cohere guys a little sooner (they are awesome)
* manage git better?

Huge thank you to the HW team - had a lot of fun.
## Inspiration ✨

Seeing friends' lives being ruined through **unhealthy** attachment to video games. Struggling with regulating your emotions properly is one of the **biggest** negative effects of video games.

## What it does 🍎

YourHP is a webapp/discord bot designed to improve the mental health of gamers. By using ML and AI, when specific emotion spikes are detected, voice recordings are queued *accordingly*. When the sensor detects anger, calming reassurance is played. When happy, encouragement is given, to keep it up, etc.

The discord bot is an additional fun feature that sends messages with the same intention to improve mental health. It sends advice, motivation, and gifs when commands are sent by users.

## How we built it 🔧

Our entire web app is made using Javascript, CSS, and HTML. For our facial emotion detection, we used a javascript library built using TensorFlow API called FaceApi.js. Emotions are detected by what patterns can be found on the face such as eyebrow direction, mouth shape, and head tilt. We used their probability value to determine the emotional level and played voice lines accordingly.

The timer is a simple build that alerts users when they should take breaks from gaming and sends sound clips when the timer is up. It uses Javascript, CSS, and HTML.

## Challenges we ran into 🚧

Capturing images in JavaScript, making the discord bot, and hosting on GitHub pages, were all challenges we faced. We were constantly thinking of more ideas as we built our original project which led us to face time limitations and was not able to produce some of the more unique features to our webapp. This project was also difficult as we were fairly new to a lot of the tools we used. Before this Hackathon, we didn't know much about tensorflow, domain names, and discord bots.

## Accomplishments that we're proud of 🏆

We're proud to have finished this product to the best of our abilities. We were able to make the most out of our circumstances and adapt to our skills when obstacles were faced. Despite being sleep deprived, we still managed to persevere and almost kept up with our planned schedule.

## What we learned 🧠

We learned many priceless lessons, about new technology, teamwork, and dedication. Most importantly, we learned about failure, and redirection. Throughout the last few days, we were humbled and pushed to our limits. Many of our ideas were ambitious and unsuccessful, allowing us to be redirected into new doors and opening our minds to other possibilities that worked better.

## Future ⏭️

YourHP will continue to develop on our search for a new way to combat mental health caused by video games. Technological improvements to our systems such as speech to text can also greatly raise the efficiency of our product and towards reaching our goals!