![Logo](https://challengepost-s3-challengepost.netdna-ssl.com/photos/production/challenge_photos/001/482/029/datas/full_width.png)

## Inspiration

Ever wanted to lead your own choir? Wanted to generate music just by your moving your hands?
Its not some magic! Its Hakuna Matata!

## What it does

It determines what hand gesture you are making from the American Sign Language and plays music corresponding to each of them.

## How we built it

* First, we made a webapp using React js with a cool Music Visualizer.
* Added authentication system to it.
* Developed a Deep Learning model using Cognitive Services.
* Integrated the model with webapp and made an API for the same.
* Added the Keyboard Music Player.

## Challenges we ran into

* Experienced great difficult in sending the image from the frontend to the API as API accepted only URLs
* Faced time constraints with respect to the idea.

## Accomplishments that we're proud of

* Even though in the 24hr hackathon, we made an awesome interface with an authentication system.
* Developed a Highly accurate Deep Learning model and trained over a data of thousands of images.
* We managed the work very well right from the team formation to the providing the MVP.

## What we learned

* About postman API.
* Conversion of Image to DataURL and vice versa

## What's next for Sound Mixer

* At moment, it works on images(kept due to less number of Cloud credits). When brought commercially with huge number of cloud credits, can be expanded to videos as well.
## Inspiration

Music is a big part of our lives and also something we experience in the moment. The only way we can really express how we feel is by understanding more then what we skip but what we visually say. We want to sit at our desk and be able to get a song the gets us in focus but also something that can switch and get us concentrated

## What it does

Using Hume AI and Spotify API, it reads the facial expressions of a user and recommends alternative songs if a user dislikes a song

## How we built it

To build it, we use React.js for our frontend and python for our API. We send a file containing a screenshot of our webcam to the API and it runs through Hume to return us the emotions of the screenshot. We then decide if the emotion is negative or positive. If it is positive then we keep playing the song, if not, we recommend a new song.

## Challenges we ran into

The first problem we encountered was deciding whether to send video or photo. This was minor but still a technical consideration which impacted our project. Next, we struggled with Spotify's OAuth2 flow and adding it to our React project. The biggest hurdle however, was getting our files from React into our python API which took a bit of time but worked.

## Accomplishments that we're proud of

We are proud that we were able to put something together... together. We all had different skillsets, ideas and expertise which conflicted at first but along development we were able to find the bugs we each knew how to solve and got us in a good workflow.

## What we learned

We learned a lot about Hume AI and the tools they provide. I hope to use them more!

## What's next for Humify

We want to change our recommendation algorithm and also add Hume's voice expressions to catch people humming or singing along. We would also love to label each song with emotions and take means and averages of emotions that songs illicit (that would require getting more permission from Spotify API).
## Inspiration

Music is something inherently personal to each and every one of us - our favorite tracks accompany us through our highs and lows, through tough workouts and relaxing evenings. Our aim is to encourage and capture that feeling of discovering that new song you just can't stop listening to. Music is an authentic expression of ourselves, and the perfect way to [meet new people](https://www.lovethispic.com/uploaded_images/206094-When-You-Meet-Someone-With-The-Same-Music-Taste-As-You.jpg) without the clichés of the typical social media platforms we're all sick of. We're both very passionate about reviving the soul of social media, so we were very excited to hear about this track and work on this project!

## What it does

Spotify keeps tabs on the tracks you can't get enough of. Why not make that data work *for you*? With one simple login, ensemble matches you with others who share your musical ear. Using our *state-of-the-art* machine learning algorithms, we show you other users who we think you'd like based on both their and your music taste. Love their tracks? Follow them and stay tuned. ensemble is a new way to truly connect on a meaningful level in an age of countless unoriginal social media platforms.

## How we built it

We wanted a robust application that could handle the complexities of a social network, while also providing us with an extensive toolkit to build out all the features we envisioned. Our frontend is built using [React](https://reactjs.org), a powerful and well-supported web framework that gives us the flexibility to build with ease. We utilized supporting frontend technologies like Bootstrap, HTML, and CSS to help create an attractive UI, the key aspect of any social media. For the backend, we used [Django](https://www.djangoproject.com) and [Django Rest Framework](https://www.django-rest-framework.org) to build a secure API that our frontend can easily interact with. For our recommendation algorithm, we used scikit-learn and numpy to power our machine learning needs. Finally, we used PostgreSQL for our DBMS and Heroku for deployment.

## Challenges we ran into

As with most social media platforms, users are key. Given the *very short* nature of hackathons, it obviously isn't feasible to attract a large number of users for development purposes. However, we needed a way to have users available for testing. Since ensemble is based on Spotify accounts and the Spotify API, this proved to be non-trivial. We took advantage of the Spotify API's recommendations endpoint to generate pseudo-data that resembles what a real person would have as their top tracks. With a fake name generator, we created as many fake profiles as we needed to flesh out our recommendation algorithm.

## Accomplishments that we're proud of

Our application is fully ready to use—it has all of the necessary authentication, authorization, and persistent storage. While we'd love to add even more features, we focused on implementing the core ones in their current state (if you use Spotify, feel free to log in and try it out!). You can find the live version [here](https://ensemble-dev.herokuapp.com). Despite all of the hassle of the deployment process, it was very fulfilling to see what we created, live and ready to be used by anyone in the world.

We're also proud of what we've accomplished in general! It's been a challenging yet immensely fulfilling day-and-a-half of ideation, design, and coding. Looking back at what we were able to create during this short time span, we're proud to have something to show for all the effort we've put into it.

## What we learned

We both learned a lot from working on this project. It's been a fast-paced weekend of continuously pushing new changes and features, and in doing so, we sharpened our skills in both React and Django. Additionally, utilizing the Spotify API was something neither of us had done before, and we learned a lot about OAuth 2.0 and web authentication in general.

## What's next for ensemble

Working on this project was a lot of fun, and we'd both love to keep it going in the future. There are a ton of features that we thought out but didn't have the time to implement in this time span. For example, we'd love to implement a direct messaging system, so you can directly contact and discuss your favorite songs/artists with the people you follow. The GitHub repository readme also contains complete and detailed instructions on how to set up your development environment to run the code, if anyone is interested in trying it out. Thanks for reading!