Our initial idea was filtering through twitter to find derogatory words and suggest alternative, kinder words, following along with Twitter's theme #HealthyConversations. We passed up this idea because we'd only be able to see those derogatory words after they've already been posted. Instead we wanted to do something that would benefit social media users proactively. We modified the initial idea a bit, and instead of derogatory words, we decided to look for negative words, or words indicating negative mood. We geared our project towards those struggling with mental llness as it has become more prevalent now than ever, and the pandemic limits people's ability to get help. We also got inspiration from Eliza, a chatbot who allows open ended venting about your day. In comparison, Eliza's responses are not as specific as ours and her UI is less visually appealing.

What it does

Our application uses the Twitter API to scrape tweets using negative language and refer them to our website so Luna can offer an ear. Once users are on our site, they'll have the option to read more about Luna, discuss their issues wiith Luna or use any of our listed resources for more in depth listening from a crisis hotline. If users choose to speak to Luna, they will receive predetermined feedback based on certain key phrases they may use. These responses have been written to be thoughtful and personable to really make the user feel as though Luna is a friend. Luna also can recommend resources that may be helpful to the user or lead the user through a meditation.

How we built it

Luna's primary function, being a chatbot, was implemented using the Twilio API.

Challenges we ran into

Being that this was the first time any of us had used Twilio, things went relatively smoothly until we needed to integrate it into our React web app. We struggled to figure out why the integration wasn't happening the way we thought it would. We ultimately decided to rework the front end of our project change it into primarily HTML,Javascript & CSS, removing most of our React.js components. This decision was made largely because of the time restraint.

We also did not get to implement the Twitter API scraping function that would determine which users might need someone to talk to. This was also due to the time limitation.

Accomplishments that we're proud of

We're very proud of the fact that we finished the bulk of our project and are able to demo. This is the first time any of us have submitted a project to a hackathon and we're proud of what we have accomplished, especially since we did not have a full team.

What we learned

We learned quite a bit about Twilio's and Twitter's APIs and will likely be using them again in the future.

What's next for Luna

Next, we want to actually get our Twitter API plan up and running. It'd be a great addition to our app. I believe Luna reaching out to people who might need someone to talk to could potentially do a lot of good. We'd also like to expand on Luna's responses so conversations feel more human-like. Right now Luna only has a few choice responses for negative ad positive emotions. Expanding on this, maybe with the input of a psychological professional, would be ideal.

Share this project: