## Inspiration

<https://www.pewresearch.org/social-trends/?attachment_id=34762>
Pew Research Center lists barbers as among the groups of workers whose day-to-day job has the least exposure to AI.

To solve this problem, we propose an AI-powered mobile app which would allow users to preview potential haircuts together with a barber from the palm of their hands.

## Background

We searched *arxiv* for papers involving hair strand reconstruction, pose alignment, and haircut transfers.
We read and drew inspiration from the following papers:
[Neural Haircut: Prior-Guided Strand-Based Hair Reconstruction](https://arxiv.org/pdf/2306.05872.pdf)
[Style Your Hair: Latent Optimization for Pose-Invariant Hairstyle Transfer via Local-Style-Aware Hair Alignment](https://arxiv.org/pdf/2208.07765.pdf)
[Barbershop: GAN-based Image Compositing using Segmentation Masks](https://arxiv.org/pdf/2106.01505.pdf)

Ultimately, we decided to work with the code from the "Barbershop" and "Style Your Hair" paper to develop our backend.

## What is *kapper*?

**kapper** is a cutting-edge solution which utilizes generative artificial intelligence to create virtual haircuts for users. Users may simply upload a photo of themselves and upload another image of their desired haircut style. The models developed by the authors of "Barbershop" and "Style Your Hair" then process the images, identifying the hair, and user poses, and transplants the desired hairstyle onto the user's photo, creating a realistic and personalized virtual haircut.

## How we built it

*kapper* was developed using Python Flask as a backend, and React Native for frontend. *kapper*'s backend is hosted on Google Cloud Platform. *kapper*'s GAN models are written in Pytorch. We used React Native to create a user-friendly mobile app which allows users to easily upload their photos, select styles, and view their virtual haircuts.

## Challenges we ran into

One of the major challenges we encountered during the development of KapperAI was deploying the machine learning model on Google Cloud.

## Accomplishments that we're proud of

We are incredibly proud of several accomplishments in this project. Firstly, we successfully developed a full-stack application that empowers users, especially barbers, with the power of a GAN within the palms of their hands. We hope that in the future,

## What we learned

Throughout the development of KapperAI, our team gained valuable insights into various aspects of app development and machine learning integration. We deepened our understanding of React Native, which allowed us to create an intuitive user interface. Moreover, we learned how to utilize various components of a complex application, including backend machine learning algorithms and frontend user experiences.

## What's next for KapperAI

Our vision for *kapper* is to scale and expand its features. In the long future, we plan to incorporate more advanced machine learning techniques to offer even more realistic virtual haircuts. We also aim to collaborate with professional hairstylists to provide expert recommendations and styling tips to our users. Ultimately, our goal is for *kapper* to become a the goto tool for barber clients to find their next haircut, and to interact with their barbers.
## Inspiration

One of our groupmates, *ahem* Jessie *ahem*, has an addiction to shopping at a fast fashion retailer which won't be named. So the team collectively came together to come up with a solution: BYEBUY. Instead of buying hauls on clothing that are cheap and don't always look good, BYEBUY uses the power of stable diffusion and your lovely selfies to show you exactly how you would look like in those pieces of clothing you've been eyeing! This solution will not only save your wallet, but will help stop the cycle of mass buying fast fashion.

## What it does

It takes a picture of you (you can upload or take a photo in-app), it takes a link of the clothing item you want to try on, and combination! BYEBUY will use our AI model to show you how you would look with those clothes on!

## How we built it

BYEBUY is a Next.js webapp that:

1. Takes in a link and uses puppeteer and cheerio to web scrape data
2. Gets react webcam takes a picture of you
3. Takes your photo + the web data and uses AI inpainting with a stable diffusion model to show you how the garments would look on you

## Challenges we ran into

**Straying from our original idea**: Our original idea was to use AR to show you in live time how clothing would look on you. However, we soon realized how challenging 3d modelling could be, especially since we wanted to use AI to turn images of clothing into 3d models...maybe another time.

**Fetching APIs and passing data around**: This was something we were all supposed to be seasoned at, but turns out, an API we used lacked documentation, so it took a lot of trial and error (and caffeine) to figure out the calls and how to pass the endpoint of one API to .

## Accomplishments that we're proud of

We are proud we came up with a solution to a problem that affects 95% of Canada's population (totally not a made up stat btw).

Just kidding, we are proud that despite being a group who was put together last minute and didn't know each other before HTV9, we worked together, talked together, laughed together, made matching bead bracelets, and created a project that we (or at least one of the members in the group) would use!

Also proud that we came up with relatively creative solutions to our problems! Like combining web scraping with AI so that users will have (almost) no limitations to the e-commerce sites they want to virtually try clothes on from!

## What we learned

* How to use Blender
* How to call an API (without docs T-T)
* How to web scrape
* Basics of stable diffusion !
* TailwindCSS

## What's next for BYEBUY

* Incorporating more e-commerce sites
## Inspiration

There are many scary things in the world ranging from poisonous spiders to horrifying ghosts, but none of these things scare people more than the act of public speaking. Over 75% of humans suffer from a fear of public speaking but what if there was a way to tackle this problem? That's why we created Strive.

## What it does

Strive is a mobile application that leverages voice recognition and AI technologies to provide instant actionable feedback in analyzing the voice delivery of a person's presentation. Once you have recorded your speech Strive will calculate various performance variables such as: voice clarity, filler word usage, voice speed, and voice volume. Once the performance variables have been calculated, Strive will then render your performance variables in an easy-to-read statistic dashboard, while also providing the user with a customized feedback page containing tips to improve their presentation skills. In the settings page, users will have the option to add custom filler words that they would like to avoid saying during their presentation. Users can also personalize their speech coach for a more motivational experience. On top of the in-app given analysis, Strive will also send their feedback results via text-message to the user, allowing them to share/forward an analysis easily.

## How we built it

Utilizing the collaboration tool Figma we designed wireframes of our mobile app. We uses services such as Photoshop and Gimp to help customize every page for an intuitive user experience. To create the front-end of our app we used the game engine Unity. Within Unity we sculpt each app page and connect components to backend C# functions and services. We leveraged IBM Watson's speech toolkit in order to perform calculations of the performance variables and used stdlib's cloud function features for text messaging.

## Challenges we ran into

Given our skillsets from technical backgrounds, one challenge we ran into was developing out a simplistic yet intuitive user interface that helps users navigate the various features within our app. By leveraging collaborative tools such as Figma and seeking inspiration from platforms such as Dribbble, we were able to collectively develop a design framework that best suited the needs of our target user.

## Accomplishments that we're proud of

Creating a fully functional mobile app while leveraging an unfamiliar technology stack to provide a simple application that people can use to start receiving actionable feedback on improving their public speaking skills. By building anyone can use our app to improve their public speaking skills and conquer their fear of public speaking.

## What we learned

Over the course of the weekend one of the main things we learned was how to create an intuitive UI, and how important it is to understand the target user and their needs.

## What's next for Strive - Your Personal AI Speech Trainer

* Model voices of famous public speakers for a more realistic experience in giving personal feedback (using the Lyrebird API).
* Ability to calculate more performance variables for a even better analysis and more detailed feedback