Most of tech seems to make feel people feel like shit - by being constantly confronted by the best part of others' lives. While digital wellbeing is becoming a more and more prominent issues, the most commonly adopted approach to resolving this seems to be gentleness and sympathy, along with cognitive behavioural therapy. We believe that more often than not, it's really not something serious enough to need therapy, just a reality check. Growing up, we were often made to realize just how meaninglessly trivial some problems were - in very blunt terms - and that gave us a reality check and helped us contextualize our problems. That's where our inspiration comes from - the success we've seen tough love have in terms of improving mental well-being. So, we built a chatbot that's rude, blunt and gives you reality checks. No matter what common life problem you're facing - a failed exam, a break up or just plain old FOMO at seeing other's instagram story, our chatbot tells it like it is, and gives you real advice on how to fix it, without any sugarcoating.
What it does
It provides unsugarcoated reality checks that help you contextualize your problems so you can step back and look at them from a rational perspective. You tell the chatbot how you're feeling, and why and it will provide real facts that are associated with that problem that make your issue pale in comparison, but also just give you some advice on how to fix it - just like a best friend would do.
How we built it
We used dialogflow to generate the conversation, extracting emotion and emotion causing entities and associating them with intents. We used React to build a minimalistic front-end for the chat, sticking to our theme of bluntness and directness.
Challenges we ran into
On the backend, Dialogflow did not have entity-based conditional conversation flow options within its UI. This compelled us to work with the inline editor and pour through Dialogflow documentation. Furthermore, having multiple keywords flagged for the same entity also caused some trouble. On the frontend, we had some trouble identifying optimal design components that would adhere to our overarching philosophy of minimalism and directness.
Accomplishments that we're proud of
Pipeline works end to end.
What we learned
Gained practical React experience as well as an understanding of building full-stack applications, connecting the backend to the front end.
What's next for Tough Love
Scaling. We need to create a custom model to classify issues based on complaints. We currently use hot-words to classify issues but need to generalize better and attack a larger range of issues, while also generating facts more specific to the user by creating a user profile and leveraging prior probabilities to help users contextualize better