Inspiration
While esapet isn't designed to be a direct substitute for such hotlines, it serves as another tool for those with mental health issues to channel their energy and avoid the risk of self-harm. A second source of inspiration was emotional support animals. Growing up, I have always found that interacting with dogs is a great way to relieve stress and calm down. However, according to rover.com, owning an emotional support animal or dog as a pet can cost anywhere from $480 to $3470 a year. This can create financial hardship for many. Esapet aims to provide a way for users to get the benefits of a therapist and emotional support animal in one platform through SMS. After all who wouldn't want to be able to hold a conversation with their dog?
What it does
Esapet is an SMS service that gives users access to their own virtual emotional support animal. Some features include:
- Taking your dog for a walk
- Feeding your dog
- Playing fetch with your dog
- Talking to your dog
- Setting up an emergency contact
You can interact with your emotional support animal by playing fetch with it, feeding it, walking it, and even naming it. The more you interact with your dog, the more images and gifs of dogs you unlock to see. Interact with your esapet more to unlock more!
Esapet also has a core functionality of being able to talk with your esapet. If you feeling down you can talk through your feelings and come up with solutions. If during your talks with your esapet, you mention anything related to self-harm, esapet will mark you down as being at risk for self-harm and a message will be sent to your emergency contact to check in on you.
How we built it
We built esapet by setting up an express server in node.js. For SMS functionality we used a webhook with the Twilio API. For conversations with your Esapet and risk assessment for self-harm, we used Cohere's command-light model. We used ngrok to open up our server that was running locally to the internet to allow the webhook with Twilio's API to work.
Challenges we ran into
We ran into difficulties setting up a server locally and exposing the port it was running on to the internet. We also had trouble setting up the Twilio Webhook to read incoming SMS messages from users' phones on the server. We also had trouble integrating Cohere's command-light model with our express server.
Accomplishments that we're proud of
We're proud of setting up inbound and outbound SMS messages with Cohere and Twilio. We're also proud of setting up our emergency contact system based on our self-harm risk assessment.
What we learned
We learned how to use Twilio for inbound and outbound SMS messaging. We also learned how to use Cohere to create a chatbot.
What's next for ESAPet
We would like to add a landing webpage for Esapet where users can sign up and enter their info automatically. Also, it would be great to expand the Esapet server functionality to support multiple users in one instance since, as of right now, it can only support one user per server instance.


Log in or sign up for Devpost to join the conversation.