Inspiration

The past week was national suicide prevention week. All of us go through some tough times when we feel like the world is bearing down upon us. People often don't feel comfortable in sharing issues in person. Using such a service in the initial stages easier than calling a helpline, more accessible. We wanted to do something to motivate people to seek help instead of feeling despair.

What it does

It is an SMS based service that automatically detects whether the user is seriously contemplating suicide from conversations. We receive text messages, parse it and assign it a score. Since there are various levels to such an intent, we calculate a score and suggest actions according to it.

How I built it

We deployed a Twilio app to handle receipt and delivery of messages. Our custom Flask server parses texts received on this app's phone number. Each user's conversations are handled differently and responses are customised as per a score we calculate. This score represents the likelihood that a user is serious about committing suicide or inflicting self-harm. We use Microsoft's GEN Encoder API to generate representations for each text. To stress on newer texts, we weight the score of each message received--a newer text gets higher weightage.

Taking into account conversational context and history is important since it is unlikely that a user will decide to inflict self-harm and send out a text. It is likely that such an emotion is built up over time.

Challenges I ran into

Effective conversational APIs are unavailable publicly. It was difficult to model multi-turn conversations. Finding a good scoring model was also crucial and time-consuming.

Accomplishments that I'm proud of

I'm happy we found a way to consider multi-turn dialogues since most systems like this one just take into account one one text. Coming up with an effective model to assign scores for user intents was also impactful. Working on a service that might help improve mental health personally excites us.

What I learned

I learned to use various APIs, fast deployment and putting into use NLP tools on offer.

What's next for Don't Jump

This can be offered as an API service by existing providers that work in a similar space (eg: Woebot). It can be part of a wider suite of tools.

Share this project:

Updates