Build the future of communications.
Start building for free

NEJS Shows You How They Built Their Code of Conduct Hotline

NEJS

JohnHobbsJohn Hobbs created an app he hopes no one ever has to use — an anonymous code of conduct reporting app for NEJS Conf.
 
“We had one troll use it, but they stopped fairly quickly,” says John. Score one for the home team.
 
John built the app the night before NEJS, with just a few lines of basic XML. When a person texts the Code of Conduct line, it forwards a volunteer the body of the message while anonymizing the user’s number. If someone calls the line, their call will be forwarded to a volunteer and their number will be spoofed to display the hotline’s number.
 
Anyone can build this hotline. There’s no coincidence that this code is available to all. John is sharing a tool that creates a welcoming environment for any and all conference attendees. He’s not sharing a hotline hack as much as he’s sharing what it delivers — a safe space for all.
 

The Importance of Building A Safe Environment

“I think it’s super important.  Tech is a small town, so you want everyone to feel safe to report things without the chance of exposure,” says John.
 
“We started NEJS Conf to give back to the Omaha & general developer community which has supported us. Accordingly want to give as much of NEJS Conf away as possible. The website and registration code is all on GitHub already, and we’re working on various blog posts (like this one) about how we put this conference on and how others can do the same.”
 
In the spirit of giving it all away, here’s a rundown of the code powering the app John built.

The Architecture of The App

HowTheAppWorks

Anonymous SMS – Content of SMS Forwarded

<?xml version="1.0" encoding="UTF-8" ?>
<Response>
  <Message to="{{ destination_number }}">[{{ reporter_id }}] {{ message_body }}

{{ link }}</Message>
</Response>

Anonymous Voice – Obfuscates Dialer’s Number

<Response>
  <Say>Connecting, one moment.</Say>
  <Dial record="true" callerId="{{ caller_id }}">{{ number.destination }}</Dial>
</Response>

Check out all the code on GitHub right here.

Authors
Sign up and start building
Not ready yet? Talk to an expert.