## Inspiration

We were inspired by our passion for mental health awareness, journaling, and giraffes to create Giraffirmations. During this time of isolation, we found ourselves falling into negative mindsets and allowing feelings of hopelessness to creep in. This greatly impacted our mental health and we saw that journalling centred around gratitude helped to improve our attitudes. We also found ourselves spending hours in front of our computers and thought that it would be a good idea to allow for quick journalling breaks right from our favourite browser.

## What it does

Giraffirmations prompts users to reflect on positive experiences and promotes feelings of gratitude. Users can jot down their feelings and save them for future references, reinforcing happy thought patterns!
There is also a hidden easter egg for additional fun surprises to boost the user's mood :)

## How we built it

* 60% JavaScript
* 25% HTML
* 15% CSS
* 110% passion and fun! (plus some helpful APIs)

## Challenges we ran into

* Implementing tabs within the extension
* Using Chrome Storage Sync API
* Retrieving the world date and time using JavaScript
* Controlling Youtube ad frequencies

## Accomplishments that we're proud of

* Learning JavaScript in a day
* Working in a team of 2!
* Learning how to randomize link destinations
* Coming up with a great extension name

## What we learned

* Chrome Storage Sync API is HARD
* Colours and fonts matter
* Version control is a lifesaver

## What's next for Giraffirmations

* Showing all of the user's previous entries
* Implementing reminder notifications to journal
* Gamification aspects (growing a Giraffe through positivity!)
* Dark mode!
## Inspiration

Whether you’re thriving in life or really going through it, research shows that writing down your thoughts throughout the day has many benefits. We wanted to add a social element to this valuable habit and build a sense of community through sharing and acknowledging each other’s feelings. However, even on the internet, we've noticed that it is difficult for people to be vulnerable for fear of judgement, criticism, or rejection.

Thus, we centred our problem around this challenge and asked the question: How might we create a sense of community and connection among journalers without compromising their sense of safety and authenticity when sharing their thoughts?

## What it does

With Yapyap, you can write daily journal entries and share them anonymously with the public. Before posting, our AI model analyzes your written entry and provides you with an emotion, helping to label and acknowledge your feelings.

Once your thoughts are out in the world, you can see how other people's days are going too and offer mutual support and encouragement through post reactions.

Then, the next day comes, and the cycle repeats.

## How we built it

After careful consideration, we recognized that most users of our app would favour a mobile version as it is more versatile and accessible throughout the day. We used Figma to create an interesting and interactive design before implementing it in React Native. On the backend, we created an API using AWS Lambda and API Gateway to read and modify our MongoDB database. As a bonus, we prepared a sentimental analyzer using Tensorflow that could predict the overall mood of the written entry.

## Challenges we ran into

Learning new technologies and figuring out how to deploy our app so that they could all communicate were huge challenges for us.

## Accomplishments that we're proud of

Being able to apply what we learned about the new technologies in an efficient and collaborative way. We're also proud of getting a Bidirectional RNN for sentiment analysis ready in a few hours!

## What we learned

How to easily deal with merge conflicts, what it's like developing software as a group, and overall just knowing how to have fun even when you're pulling an all-nighter!

## What's next for yapyap

More personable AI Chatbots, and more emotions available for analysis!
## Inspiration

One of our team members was stunned by the number of colleagues who became self-described "shopaholics" during the pandemic. Understanding their wishes to return to normal spending habits, we thought of a helper extension to keep them on the right track.

## What it does

Stop impulse shopping at its core by incentivizing saving rather than spending with our Chrome extension, IDNI aka I Don't Need It! IDNI helps monitor your spending habits and gives recommendations on whether or not you should buy a product. It also suggests if there are local small business alternatives so you can help support your community!

## How we built it

React front-end, MongoDB, Express REST server

## Challenges we ran into

Most popular extensions have company deals that give them more access to product info; we researched and found the Rainforest API instead, which gives us the essential product info that we needed in our decision algorithm. However this proved, costly as each API call took upwards of 5 seconds to return a response. As such, we opted to process each product page manually to gather our metrics.

## Completion

In its current state IDNI is able to perform CRUD operations on our user information (allowing users to modify their spending limits and blacklisted items on the settings page) with our custom API, recognize Amazon product pages and pull the required information for our pop-up display, and dynamically provide recommendations based on these metrics.

## What we learned

Nobody on the team had any experience creating Chrome Extensions, so it was a lot of fun to learn how to do that. Along with creating our extensions UI using React.js this was a new experience for everyone. A few members of the team were also able to spend the weekend learning how to create an express.js API with a MongoDB database, all from scratch!

## What's next for IDNI - I Don't Need It!

We plan to look into banking integration, compatibility with a wider array of online stores, cleaner integration with small businesses, and a machine learning model to properly analyze each metric individually with one final pass of these various decision metrics to output our final verdict. Then finally, publish to the Chrome Web Store!