# Daily Cheqin

## Mission

Encourage more self reflection, promote the expression of emotions and monitor mental wellbeing over time.

## Description

Daily Cheqin is an action for the Google Assistant that where the user can tell the service about their day (daily journal) and how they felt (one word summary). The transcribed journal entry is stored and analyzed by a sentiment analysis algorithm to predict the user’s emotions using their journal entry. The user’s one word summary is used to further refine the ML algorithm’s capability at detecting the magnitude of emotions from words. The daily journal is shown to the user in an app (life logging journal) as well as any trends (5 days of generally good days), so the user can observe what they are doing that keeps them motivated and in good health.

## Overview

This project consists of four modules:

* *app*
	+ This is the front end application allowing for users to view their past week of emotions and journal entries.
* *api*
	+ This is a cloud deployed api performing CRUD operations between the input/output components and the Firestore database.
* *jovo*
	+ This is the interface with the Google Assistant api. The app has a pleasant conversation with the user to obtain their voice input.
* *ml*
	+ This is the indico machine learning interface which analyzes the user-generated text and returns the evaluated emotion weights of the text.

[Github Link](https://github.com/ianw3214/Cheqin)
## 💡 Inspiration

We got inspiration from or back-end developer Minh. He mentioned that he was interested in the idea of an app that helped people record their positive progress and showcase their accomplishments there. This then led to our product/UX designer Jenny to think about what this app would target as a problem and what kind of solution would it offer. From our research, we came to the conclusion quantity over quality social media use resulted in people feeling less accomplished and more anxious. As a solution, we wanted to focus on an app that helps people stay focused on their own goals and accomplishments.

## ⚙ What it does

Our app is a journalling app that has the user enter 2 journal entries a day. One in the morning and one in the evening. During these journal entries, it would ask the user about their mood at the moment, generate am appropriate response based on their mood, and then ask questions that get the user to think about such as gratuity, their plans for the day, and what advice would they give themselves. Our questions follow many of the common journalling practices. The second journal entry then follows a similar format of mood and questions with a different set of questions to finish off the user's day. These help them reflect and look forward to the upcoming future. Our most powerful feature would be the AI that takes data such as emotions and keywords from answers and helps users generate journal summaries across weeks, months, and years. These summaries would then provide actionable steps the user could take to make self-improvements.

## 🔧 How we built it

### Product & UX

* Online research, user interviews, looked at stakeholders, competitors, infinity mapping, and user flows.
* Doing the research allowed our group to have a unified understanding for the app.

### 👩‍💻 Frontend

* Used React.JS to design the website
* Used Figma for prototyping the website

### 🔚 Backend

* Flask, CockroachDB, and Cohere for ChatAI function.

## 💪 Challenges we ran into

The challenge we ran into was the time limit. For this project, we invested most of our time in understanding the pinpoint in a very sensitive topic such as mental health and psychology. We truly want to identify and solve a meaningful challenge; we had to sacrifice some portions of the project such as front-end code implementation. Some team members were also working with the developers for the first time and it was a good learning experience for everyone to see how different roles come together and how we could improve for next time.

## 🙌 Accomplishments that we're proud of

Jenny, our team designer, did tons of research on problem space such as competitive analysis, research on similar products, and user interviews. We produced a high-fidelity prototype and were able to show the feasibility of the technology we built for this project. (Jenny: I am also very proud of everyone else who had the patience to listen to my views as a designer and be open-minded about what a final solution may look like. I think I'm very proud that we were able to build a good team together although the experience was relatively short over the weekend. I had personally never met the other two team members and the way we were able to have a vision together is something I think we should be proud of.)

## 📚 What we learned

We learned preparing some plans ahead of time next time would make it easier for developers and designers to get started. However, the experience of starting from nothing and making a full project over 2 and a half days was great for learning. We learned a lot about how we think and approach work not only as developers and designer, but as team members.

## 💭 What's next for budEjournal

Next, we would like to test out budEjournal on some real users and make adjustments based on our findings. We would also like to spend more time to build out the front-end.
## Inspiration

Jessica here - I came up with the idea for BusPal out of expectation that the skill has already existed. With my Amazon Echo Dot, I was already doing everything from checking the weather to turning off and on my lights with Amazon skills and routines. The fact that she could not check when my bus to school was going to arrive was surprising at first - until I realized that Amazon and Google are one of the biggest rivalries there is between 2 tech giants. However, I realized that the combination of Alexa's genuine personality and the powerful location ability of Google Maps would fill a need that I'm sure many people have. That was when the idea for BusPal was born: to be a convenient Alexa skill that will improve my morning routine - and everyone else's.

## What it does

This skill enables Amazon Alexa users to ask Alexa when their bus to a specified location is going to arrive and to text the directions to a phone number - all hands-free.

## How we built it

Through the Amazon Alexa builder, Google API, and AWS.

## Challenges we ran into

We originally wanted to use stdlib, however with a lack of documentation for the new Alexa technology, the team made an executive decision to migrate to AWS roughly halfway into the hackathon.

## Accomplishments that we're proud of

Completing Phase 1 of the project - giving Alexa the ability to take in a destination, and deliver a bus time, route, and stop to leave for.

## What we learned

We learned how to use AWS, work with Node.js, and how to use Google APIs.

## What's next for Bus Pal

Improve the text ability of the skill, and enable calendar integration.