## Inspiration

We recognized that many individuals are keen on embracing journaling as a habit, but hurdles like the "all or nothing" mindset often hinder their progress. The pressure to write extensively or perfectly every time can be overwhelming, deterring potential journalers. Consistency poses another challenge, with life's busy rhythm making it hard to maintain a daily writing routine. The common issue of forgetting to journal compounds the struggle, as people find it difficult to integrate this practice seamlessly into their day. Furthermore, the blank page can be intimidating, leaving many uncertain about what to write and causing them to abandon the idea altogether. In addressing these barriers, our aim with **Pawndr** is to make journaling an inviting, effortless, and supportive experience for everyone, encouraging a sustainable habit that fits naturally into daily life.

## What it does

**Pawndr** is a journaling app that connects with you through text and voice. You will receive conversational prompts delivered to their phone, sparking meaningful reflections wherever you are and making journaling more accessible and fun. Simply reply to our friendly messages with your thoughts or responses to our prompts, and watch your personal journey unfold. Your memories are safely stored, easy accessible through our web app, and beautifully organized. **Pawndr** is able to transform your daily moments into a rich tapestry of self-discovery.

## How we built it

The front-end was built using react.js. We built the backend using FastAPI, and used MongoDB as our database. We deployed our web application and API to a Google Cloud VM using nginx and uvicorn. We utilized Infobip to build our primary user interaction method. Finally, we made use of OpenAI's GPT 3 and Whisper APIs to power organic journaling conversations.

## Challenges we ran into

Our user stories required us to use 10 digit phone numbers for SMS messaging via Infobip. However, Canadian regulations blocked any live messages we sent using the Infobip API. Unfortunately, this was a niche problem that the sponsor reps could not help us with (we still really appreciate all of their help and support!! <3), so we pivoted to a WhatsApp interface instead.

## Accomplishments that we're proud of

We are proud of being able to quickly problem-solve and pivot to a WhatsApp interface upon the SMS difficulties. We are also proud of being able to integrate our project into an end-to-end working demo, allowing hackathon participants to experience our project vision.

## What we learned

We learned how to deploy a web app to a cloud VM using nginx. We also learned how to use Infobip to interface with WhatsApp business and SMS. We learned about the various benefits of journaling, the common barriers to journaling, and how to make journaling rewarding, effortless, and accessible to users.

## What's next for Pawndr

We want to implement more channels to allow our users to use any platform of their choice to journal with us (SMS, Messenger, WhatsApp, WeChat, etc.). We also hope to have more comprehensive sentiment analysis visualization, including plots of mood trends over time.
## Inspiration

When you think of the word “nostalgia”, what’s the first thing you think of? Maybe it’s the first time you tried ice cream, or the last concert you’ve been to. It could even be the first time you’ve left the country. Although these seem vastly different and constitute unique experiences, all of these events tie to one key component: memory. Can you imagine losing access to not only your memory, but your experiences and personal history? Currently, more than 55 million people world-wide suffer from dementia with 10 million new cases every year. Many therapies have been devised to combat dementia, such as reminiscence therapy, which uses various stimuli to help patients recall distant memories. Inspired by this, we created Remi, a tool to help dementia victims remember what’s important to them.

## What it does

We give users the option to sign up as a dementia patient, or as an individual signing up on behalf of a patient. Contributors to a patient's profile (friends and family) can then add to the profile descriptions of any memory they have relating to the patient. After this, we use Cohere API to piece together a personalized narration of the memory; this helps patients remember all of their most heartening past memories. We then use an old-fashioned styled answering machine, created with Arduino, and with the click of a button patients can listen to their past memories read to them by a loved one.

## How we built it

Our back-end was created using Flask, where we utilized Kintone API to store and retrieve data from our Kintone database. It also processes the prompts from the front-end using Cohere API in order to generate our personalized memory message; as well, it takes in button inputs from an Arduino UNO to play the text-to-speech. Lastly, our front-end was built using ReactJS and TailwindCSS for seamless user interaction.

## Challenges we ran into

As it was our first time setting up a Flask back-end and using Kintone, we ran into a couple of issues. With our back-end, we had trouble setting up our endpoints to successfully POST and GET data from our database. We also ran into troubles setting up the API token with Kintone to integrate it into our back-end. There were also several hardware limitations with the Arduino UNO, which was probably not the most suitable board for this project. The inability to receive wire-less data or handle large audio files were drawbacks, but we found workarounds that would allow us to demo properly, such-as using USB communication.

## Accomplishments that we're proud of

* Utilizing frontend, backend, hardware, and machine learning libraries in our project
* Delegating tasks and working as a team to put our project together
* Learning a lot of new tech and going to many workshops!

## What we learned

We learned a lot about setting up databases and web frameworks!

## What's next for Remi

Since there were many drawbacks with the hardware, future developments in the project would most likely switch to a board with higher bandwidth and wifi capabilities, such as a Raspberry Pi. We also wanted to add in a feature where contributors to a patient's memory library could record their voices, and our Text-to-Speech AI would mimic them when narrating a story. Reminiscence therapy involves more than narrating memories, so we wanted to add ore sensory features, such as visuals, to invoke memories and nostalgia for the patient as effectively as possible. For example, contributors could submit a picture of their memories along with their description, which could be displayed on an LCD attached to the answering machine design. On the business-end, we hope to collaborate with health professionals to see how we can further help dementia victims.
## Inspiration

According to Statistics Canada, nearly 48,000 children are living in foster care. In the United States, there are ten times as many. Teenagers aged 14-17 are the most at risk of aging out of the system without being adopted. Many choose to opt-out when they turn 18. At that age, most youths like our team are equipped with a lifeline back to a parent or relative. However, without the benefit of a stable and supportive home, fostered youths, after emancipation, lack the consistent security for their documents, tacit guidance for practical tasks, and moral aid in building meaningful relationships through life’s ups and downs.

Despite the success possible during foster care, there is overwhelming evidence that shows how our conventional system alone inherently cannot guarantee the necessary support to bridge a foster youth’s path into adulthood once they exit the system.

## What it does

A virtual, encrypted, and decentralized safe for essential records. There is a built-in scanner function and a resource of contacts who can mentor and aid the user. Alerts can prompt the user to tasks such as booking the annual doctors' appointments and tell them, for example, about openings for suitable housing and jobs. Youth in foster care can start using the app at age 14 and slowly build a foundation well before they plan for emancipation.

## How we built it

The essential decentralized component of this application, which stores images on an encrypted blockchain, was built on the Internet Computer Protocol (ICP) using Node JS and Azle. Node JS and React were also used to build our user-facing component. Encryption and Decryption was done using CryptoJS.

## Challenges we ran into

ICP turned out to be very difficult to work with - attempting to publish the app to a local but discoverable device was nearly impossible. Apart from that, working with such a novel technology through an unfamiliar library caused many small yet significant mistakes that we wouldn't be able to resolve without the help of ICP mentors. There were many features we worked on that were put aside to prioritize, first and foremost, the security of the users' sensitive documents.

## Accomplishments that we're proud of

Since this was the first time any of us worked on blockchain, having a working application make use of such a technology was very satisfying. Some of us also worked with react and front-end for the first time, and others worked with package managers like npm for the first time as well. Apart from the hard skills developed throughout the hackathon, we're also proud of how we distributed the tasks amongst ourselves, allowing us to stay (mostly) busy without overworking anyone.

## What we learned

As it turns out, making a blockchain application is easier than expected! The code was straightforward and ICP's tutorials were easy to follow. Instead, we spent most of our time wrangling with our coding environment, and this experience gave us a lot of insight into computer networks, blockchain organization, CORS, and methods of accessing blockchain applications through code run in standard web apps like React.

## What's next for MirrorPort

Since the conception of MirrorPort, it has always been planned to become a safe place for marginalized youths. Often, they would also lose contact with adults who have mentored or housed them. This app will provide this information to the user, with the consent of the mentor. Additionally, alerts will be implemented to prompt the user to tasks such as booking the annual doctors' appointments and tell them, for example, about openings for suitable housing and jobs. It could also be a tool for tracking progress against their aspirations and providing tailored resources that map out a transition plan. We're looking to migrate the dApp to mobile for more accessibility and portability. 2FA would be implemented for login security. It could also be a tool for tracking progress against their aspirations and providing tailored resources that map out a transition plan. Adding a document translation feature would also make the dApp work well with immigrant documents across borders.