Our name, Con Anima, means "with spirit" in Italian and is typically used as a musical direction. In this theme, our team wanted to create a platform to inspire and support songwriters through the songwriting process so they can capture their spirit in their music. We have many features that we felt would be conducive to the creative process, including a space for brainstorming both lyrics and musical notation. We also wanted to give them an avenue to check for accidental plagiarism and directly upload to Soundcloud, all on the same platform.

What it does

This is a website designed to aid the songwriting process in multiple ways. It's password-authenticated to make users feel secure and contains space for the songwriter to brainstorm both lyrics and musical notation. We also have a space where songwriters can select a specific emotion and get words to jump-start the lyric writing process. They can also select a musical key and get a suggested chord progression to build off of. Later on, the songwriters can run their lyrics through a plagiarism detector in order to prevent accidental plagiarism.

How we built it

We decided to split up the project into parts with each of us working on one tab of the entire project. We used React on the frontend and firebase for the login authentication. We also used HTML and CSS in the IDE Visual Studio Code, however, when connecting the back end and front end, we had to convert the code into JavaScript. For the plagiarism detector, we used a Genius API to bring in the lyrics and used spaCy (an nlp package) to run a similarity check and flag lines with a similarity score that's too high.

Challenges we ran into

We used a lot of technologies for the first time, such as React and CSS, and struggled a bit with the positioning of things on the website. We also struggled with connecting our individual parts, especially with connecting one python script we wrote for the plagiarism detection to the rest of the project.

Accomplishments that we're proud of

We're extremely proud of figuring out how we figured out how to connect Flask to our front end, even though we still haven't figured out how to access our python script through the Flask route.

What we learned

We learned a lot about the process of creating a web app with many moving parts and the process of connecting these parts. We used many new kinds of software and features including APIs, Flask, React, Firebase, CSS, and Javascript, and learned a lot trying to connect all these different features and connecting the back end to the front end.

What's next for Con Anima

We want to scale up by adding more songs to our database to make the plagiarism checking aspect more robust and complex. We want to enable a sheet music feature that allows users to store many sheets of music in a file and be able to store numerous files in the app. We would also like to add drag and drop functionality for the musical notes brainstorming. For general lyric brainstorming, we hope to allow users to add more sticky notes and delete notes as well.

Share this project: