## Submission Links:

YouTube:

* <https://www.youtube.com/watch?v=9eHJ7draeAY&feature=youtu.be>

GitHub:

* Front-End: <https://github.com/manfredxu99/nwhacks-fe>
* Back-End: <https://github.com/manfredxu99/nwhacks-be>

## Inspiration

Imagine living in a world where you can feel safe when going to a specific restaurant or going to a public space. Covid map helps you see which areas and restaurants have the most people who have been in close contact with covid patients. Other apps only tell you after someone has been confirmed suspected with COVID. However, with covid map you can tell in advance whether or not you should go to a specific area.

## What it does

In COVIDMAP you can look up the location you are thinking of visiting and get an up to date report on how many confirmed cases have visited the location in the past 3 days. With the colour codes indicating the severity of the covid cases in the area, COVID map is an easy and intuitive way to find out whether or not a grocery store or public area is safe to visit.

## How I built it

We started by building the framework. I built it using React Native as front-end, ExpressJS backend server and Google Cloud SQL server.

## Challenges I ran into

Maintaining proper communication between front-end and back-end, and writing stored procedures in database for advanced database SQL queries

## Accomplishments that I'm proud of

We are honoured having the opportunity to contribute well to the one of the main health and safety concerns, by creating an app that provide our fellow citizens to reduce the worries and concerns towards being exposed to COVID patients.
Moreover, in technical aspects, we have successfully maintained the front-end to back-end communication, as our app successfully fetches and stores data properly in this short time span of 24 hours.

## What I learned

We have learnt that creating a complete app within 24-hours is fairly challenging. As we needed to distribute time well to brainstorm great app ideas, design and implement UI, manage data, etc. This hackathon also further enhanced my ability to practice teamwork.

## What's next for COVIDMAP

We hope to implement this app locally in Vancouver to test out the usability of this project. Eventually we wish to help hotspot cities reduce their cases.
## Inspiration

Ricky (Li Qi), one of our team members, has a girlfriend who lives with her grandma. Because it was hard to keep track of when both of them had done activities, they had to put extra care when deciding to meet, because that would be a high threat to his girlfriend's grandma. He proposed to our team to create this web-app so that both families could have a higher ease of tracking whatever activity they were doing so that the couple could meet safety.

## What it does

Our web-app gathers people by putting them in a pod, which would have a maximum size of 10 people. It would then analyze each person's activities and return a risk meter for each person. This meter would then be used to see if that pod could meet on that day safely, according to each person's exposure to Covid.

## How we built it

Our front-end and all of its animations are in vanilla React.js, with the exception of CircularProgression meters from the material-ui library. The front-end uses Redux for state management. The account logging mechanism uses a Google or Facebook passport. The back-end is done in express.js with a PostgreSQL database. Our web-app will be hosted on Heroku.

## Challenges we ran into

We are still amateur developers, and we had some difficulty loading data with axios before the react component was loaded. Our solution: using react-queries and useState to know when the component had to load or not.

## Accomplishments that we're proud of

We are absolutely proud of our UI and it's graphic design. Our front-end developer spent a lot of time smoothing transitions and change of pages, etc.
We are also proud of the idea of our project, as it could actually help a lot of individuals gradually reconnect, while doing so safely and following Covid-19 guidelines.

## What we learned

We learned during this hackathon that workflow management is actually important. While we all did our part and worked very hard, our efforts were not always coordinated, and we ended having a lot of bugs in the communication between out front-end and our back-end.

## What's next for Peapod

We are planning to add new feature to Peapod in the future. We plan to add a calendar of future events and what will be showing this person's risk level on different days in the future. We plan to also bring this feature to pods so that they can plan meeting in the future more effectively. Since we want Peapod to be accessible, we are also planning on porting this app to native devices as well as create a PWA version!
## Inspiration

We built an AI-powered physical trainer/therapist that provides real-time feedback and companionship as you exercise.

With the rise of digitization, people are spending more time indoors, leading to increasing trends of obesity and inactivity. We wanted to make it easier for people to get into health and fitness, ultimately improving lives by combating these the downsides of these trends. Our team built an AI-powered personal trainer that provides real-time feedback on exercise form using computer vision to analyze body movements. By leveraging state-of-the-art technologies, we aim to bring accessible and personalized fitness coaching to those who might feel isolated or have busy schedules, encouraging a more active lifestyle where it can otherwise be intimidating.

## What it does

Our AI personal trainer is a web application compatible with laptops equipped with webcams, designed to lower the barriers to fitness. When a user performs an exercise, the AI analyzes their movements in real-time using a pre-trained deep learning model. It provides immediate feedback in both textual and visual formats, correcting form and offering tips for improvement. The system tracks progress over time, offering personalized workout recommendations and gradually increasing difficulty based on performance. With voice guidance included, users receive tailored fitness coaching from anywhere, empowering them to stay consistent in their journey and helping to combat inactivity and lower the barriers of entry to the great world of fitness.

## How we built it

To create a solution that makes fitness more approachable, we focused on three main components:

Computer Vision Model: We utilized MediaPipe and its Pose Landmarks to detect and analyze users' body movements during exercises. MediaPipe's lightweight framework allowed us to efficiently assess posture and angles in real-time, which is crucial for providing immediate form correction and ensuring effective workouts.

Audio Interface: We initially planned to integrate OpenAI’s real-time API for seamless text-to-speech and speech-to-text capabilities, enhancing user interaction. However, due to time constraints with the newly released documentation, we implemented a hybrid solution using the Vosk API for speech recognition. While this approach introduced slightly higher latency, it enabled us to provide real-time auditory feedback, making the experience more engaging and accessible.

User Interface: The front end was built using React with JavaScript for a responsive and intuitive design. The backend, developed in Flask with Python, manages communication between the AI model, audio interface, and user data. This setup allows the machine learning models to run efficiently, providing smooth real-time feedback without the need for powerful hardware.

On the user interface side, the front end was built using React with JavaScript for a responsive and intuitive design. The backend, developed in Flask with Python, handles the communication between the AI model, audio interface, and the user's data.

## Challenges we ran into

One of the major challenges was integrating the real-time audio interface. We initially planned to use OpenAI’s real-time API, but due to the recent release of the documentation, we didn’t have enough time to fully implement it. This led us to use the Vosk API in conjunction with our system, which introduced increased codebase complexity in handling real-time feedback.

## Accomplishments that we're proud of

We're proud to have developed a functional AI personal trainer that combines computer vision and audio feedback to lower the barriers to fitness. Despite technical hurdles, we created a platform that can help people improve their health by making professional fitness guidance more accessible. Our application runs smoothly on various devices, making it easier for people to incorporate exercise into their daily lives and address the challenges of obesity and inactivity.

## What we learned

Through this project, we learned that sometimes you need to take a "back door" approach when the original plan doesn’t go as expected. Our experience with OpenAI’s real-time API taught us that even with exciting new technologies, there can be limitations or time constraints that require alternative solutions. In this case, we had to pivot to using the Vosk API alongside our real-time system, which, while not ideal, allowed us to continue forward. This experience reinforced the importance of flexibility and problem-solving when working on complex, innovative projects.

## What's next for AI Personal Trainer

Looking ahead, we plan to push the limits of the OpenAI real-time API to enhance performance and reduce latency, further improving the user experience. We aim to expand our exercise library and refine our feedback mechanisms to cater to users of all fitness levels. Developing a mobile app is also on our roadmap, increasing accessibility and convenience. Ultimately, we hope to collaborate with fitness professionals to validate and enhance our AI personal trainer, making it a reliable tool that encourages more people to lead healthier, active lives.