## Inspiration

One. Word. ~Frictionless~

## What it does

journ-o provides a ~frictionless~ journaling experience. Users can hop on to their account, make a journal cataloging their events for the day, then leave in a matter of seconds. Years later, they'll be thankful for their experience using journ-o.

## How we built it

journ-o uses a React frontend paired with a Firebase realtime database backend.

## Challenges we ran into

Our project was so ~frictionless~ we kept slipping out of our chairs.

## Accomplishments that we're proud of

Overall, we're proud of everything we were able to do. We had a solid question structure, a good database structure, the actual webpage looks nice. Like everything y'know? -Elliot

## What we learned

Efficient React webdev. Web-Firebase integration. The power of friendship.

## What's next for journ-o

If you want a smaller list, ask what's *not* next for journ-o.

## Discord

Team 11 - cracker#4700, sspecZ#4351, enzon2001#6123
## Inspiration

We want to develop something fun to start our first Hackathon project. So we invented this light-weighted Diary app.

## What it does

You can record your voice and your stories on it.

## How we built it

We use react.js, json.js, and java to build it. React.js as a front-end tool, json.js as mock database and java as a back-end tool

## Challenges we ran into

our front-end cannot send audio directly to json server and our back-end cannot connect to database

## Accomplishments that we're proud of

We are really proud of developing an app as a team. And we made separate functionalities works correctly. we get the web-page right, we can send and get text data from server, we can translate audio to text and analysis sentiments in our back-end.

## What we learned

We learned how to use react to develop an app, how to create a mock database using json.js. we learned how to use AssemblyAi API, etc.

## What's next for Fantastic Diary

We will work out how to transfer mp3 audio from web to database, and connect database from server. We also intend to add more functionality to our Diary, such as music player, weather report etc.
## Inspiration

Over the Summer one of us was reading about climate change but then he realised that most of the news articles that he came across were very negative and affected his mental health to the point that it was hard to think about the world as a happy place. However one day he watched this one youtube video that was talking about the hope that exists in that sphere and realised the impact of this "goodNews" on his mental health. Our idea is fully inspired by the consumption of negative media and tries to combat it.

## What it does

We want to bring more positive news into people’s lives given that we’ve seen the tendency of people to only read negative news. Psychological studies have also shown that bringing positive news into our lives make us happier and significantly increases dopamine levels.

The idea is to maintain a score of how much negative content a user reads (detected using cohere) and once it reaches past a certain threshold (we store the scores using cockroach db) we show them a positive news related article in the same topic area that they were reading.
We do this by doing text analysis using a chrome extension front-end and flask, cockroach dp backend that uses cohere for natural language processing.

Since a lot of people also listen to news via video, we also created a part of our chrome extension to transcribe audio to text - so we included that into the start of our pipeline as well! At the end, if the “negativity threshold” is passed, the chrome extension tells the user that it’s time for some good news and suggests a relevant article.

## How we built it

**Frontend**
We used a chrome extension for the front end which included dealing with the user experience and making sure that our application actually gets the attention of the user while being useful. We used react js, HTML and CSS to handle this. There was also a lot of API calls because we needed to transcribe the audio from the chrome tabs and provide that information to the backend.

**Backend**

## Challenges we ran into

It was really hard to make the chrome extension work because of a lot of security constraints that websites have. We thought that making the basic chrome extension would be the easiest part but turned out to be the hardest. Also figuring out the overall structure and the flow of the program was a challenging task but we were able to achieve it.

## Accomplishments that we're proud of

1) (co:here) Finetuned a co:here model to semantically classify news articles based on emotional sentiment
2) (co:here) Developed a high-performing classification model to classify news articles by topic
3) Spun up a cockroach db node and client and used it to store all of our classification data
4) Added support for multiple users of the extension that can leverage the use of cockroach DB's relational schema.
5) Frontend: Implemented support for multimedia streaming and transcription from the browser, and used script injection into websites to scrape content.
6) Infrastructure: Deploying server code to the cloud and serving it using Nginx and port-forwarding.

## What we learned

1) We learned a lot about how to use cockroach DB in order to create a database of news articles and topics that also have multiple users
2) Script injection, cross-origin and cross-frame calls to handle multiple frontend elements. This was especially challenging for us as none of us had any frontend engineering experience.
3) Creating a data ingestion and machine learning inference pipeline that runs on the cloud, and finetuning the model using ensembles to get optimal results for our use case.

## What's next for goodNews

1) Currently, we push a notification to the user about negative pages viewed/a link to a positive article every time the user visits a negative page after the threshold has been crossed. The intended way to fix this would be to add a column to one of our existing cockroach db tables as a 'dirty bit' of sorts, which tracks whether a notification has been pushed to a user or not, since we don't want to notify them multiple times a day. After doing this, we can query the table to determine if we should push a notification to the user or not.
2) We also would like to finetune our machine learning more. For example, right now we classify articles by topic broadly (such as War, COVID, Sports etc) and show a related positive article in the same category. Given more time, we would want to provide more semantically similar positive article suggestions to those that the author is reading. We could use cohere or other large language models to potentially explore that.