Many things come off the wrong way when we interact with others over the web because of the limitations of text. We wanted to fix that by building a much more friendly community by creating a tool that allows people to check how nice their message is before they send it. A friendly internet fosters good health to everyone that uses it.

What it does

Heartfelt is a chrome extension that allows the user to highlight text and determine the positivity and friendliness of that text through sentiment analysis. This can help people reconsider what they type before sending it, so they get the best responses from others.

How we built it

We built it using chrome extension and a hefty amount of javascript, css3, and HTML5. When the chrome extension is clicked, we made an API call to the HP sentiment analysis api which gave a value from -1 to 1 back to the chrome extension html page. We normalized the value from 0 to 1, by adding the result of the response with 1 and dividing it by two. After that, we used some nice css3 animations to create a bar to rank the friendliness of the text that was analyzed.

Challenges I ran into

Asynchronous calls threw us off a bit! A big challenge was figuring out how to work with chrome extensions. It was quite difficult to figure out how to connect the current tab to the extension page, but we figured it out. Ajax was a little difficult to work with because we were using it to send and get requests from the API server which took a little while to figure out.

Accomplishments that I'm proud of

The UI is beautiful, and we think it works perfectly. It's a tool we'll use ourself because it's quick and easy to use.

What I learned

We learned how to use the HP sentiment analysis api which is useful for future projects. We also learned to work with larger chrome extensions and understand asynchronous calls better.

What's next for Heartfelt

A much more trained sentiment analyzer which uses machine learning to incorporate a much larger variety of sentiment classification. We want to also integrate it into the social setting by implementing it in chats so we can analyze declines and uprisings in friendships. The purpose is to help the internet become a friendlier place.

Built With

Share this project: