We were so excited for this hackathon that we actually read all the discord messages pertaining to it, which we don't usually do. As we did, we noticed that there were a lot of comments suggesting that female and nonbinary hackathons were sexist towards men, among other things. Wondering why more people didn't stand up against sexist statements, we figured that there were probably two main causes: 1) People are afraid of repercussions or being shut down, or 2) People don't know what to say. We also know that what's present in a small discord channel is a much larger problem in the workplace, especially for womxn in tech. That got us thinking about tech solutions we could build to tackle this problem.
We created ALLI to counter workplace micro aggressions against female employees. According to a 2017 study by the Pew Research Center, 42% of working women in the United States say they have faced sex discrimination in the workplace. Women face all sorts of obstacles—they may be passed over for important assignments or treated as if they’re less competent than their male counterparts. Women are also subject to general slights, like misogynistic language and comments. It is oftentimes difficult to speak up about these issues, especially if women are a minority in the space. And since only 20% of computer science professionals are women, computer science spaces can oftentimes feel unwelcoming to women coders. We have decided to tackle this problem in online spaces. Specifically, we are choosing to address the issue of sexism in virtual workspaces using Slack. Many companies, classes, and organizations use Slack as a method of communication, so we decided to create a Slack bot that tackles sexism using automatic and anonymous reporting. This is especially important since people are working at home during the pandemic—many people's work interactions are now entirely online, so this is a unique opportunity to create virtual equity tools and make life during this chaotic time a little bit happier.
What it does
ALLI has many features to identify and combat sexist speech including:
slash commandsto allow users to anonymously call out 10 different types of sexist speech:
- pet names
- ignoring women's ideas
- gender stereotypes
- sexist language
- denial of sexism
- double standards regarding gender
- blatant / extreme
For each slash command, Alli sends an anonymous message in the channel commenting on why that type of sexist language is harmful. This alleviates the fear of being shut down or retaliated against, and encourages people to start speaking up more.
auto calloutsfor common pet names and derogatory language monitor language for sexist implications, and send automatic messages when triggered.
These automatic messages relieve some of the burden to call out speech from those on the receiving end of sexist comments. Their automated nature also encourages people to stop using such language to prevent getting frequent critical messages.
support buttonsallow users to anonymously support messages sent by Alli in the channel. This could be either an auto message prompted by common pet names or derogatory language, or a message called by a user via a backslash command.
The ability to show anonymous support for a message makes people feel confident in calling out sexist speech and encourages them to be more forward allies in the future, as well as makes those on the receiving end of such speech feel supported by their coworkers.
toxicity metricson the app home page gives metrics of callout and support frequencies, which can be used to estimate of how toxic a workplace is.
These metrics include:
- Current slash tally: This metric represents how many times one of Alli's slash commands have been called by a user in this workspace.
- Current auto tally: This metric represents how many times the language used by users in this workspace has triggered an auto response from Alli.
- Current report tally: This metric represents how many messages in this workspace have been specifically reported as being sexist.
- Current support tally: This metric represents how many times someone has upvoted one of Alli's messages highlighting problematic behaviors
report shortcutsgive a user the ability to flag a specific message as being sexist and take user-determined action to hold them accountable This action was largely not fleshed out, due to needing to redirect our energies when we had technical difficulties (see below for details). The ideal functionality allows a user to first classify the selected message by type of sexism comment, then automatically add to report tally and dm the sexist speaker that their message was flagged and why that type of speech is bad and ping the workspace moderator, then finally let the user choose a follow up action from engaging directly via dm or sending them an anonymous dm via Alli or setting up the user in a chat with a moderator for more a more serious conversation.
Our process was fairly straightforward:
- Brainstorm and outline
- (Usually) Hit a bug/technical difficulty
- Problem solve
And collaboration and google-searching and docs-reading the whole way through.
We encountered a pretty significant challenge halfway through the hackathon. We had been developing our Slack app on Glitch, which made it easy to create and run a Slack app. However, when we were almost done with the project, Glitch stopped working. The website reported glitches that kept projects from running properly. So, with our remaining time, we were forced to move the app over to Github and Heroku. We encountered our fair share of issues bringing the app over to run on Heroku, but we're happy with the transition because it has made the app more of a standalone project that can easily be shared on the Slack App Directory.
We accomplished a lot, and are very proud of how far we have come.
- Worked with JS for the first time, and demoed for the first time (Sarah)
- Worked with ML for the first time (Anna)
- Worked with slack apps for the first time
- Implemented slash commands
- Implemented automatic responses to certain text
- Implemented anonymous tallied buttons to show solidarity against sexist speech
- Implemented tallies of callouts and support
- Implemented an an Home page
- Successfully deployed app to Heroku (after pivoting due to Glitch malfunction)
What we learned
We learned A TON this weekend.
Both of us had never worked with Bolt or building Slack apps, so this project was set up to push us. We learned how to work with Glitch, and how to theoretically integrate ML into our app. Due to many technical issues, especially on the second day of hacking, we also learned how to pivot. We were planning on integrating many more features, including machine learning algorithms to spot more subtle forms of sexism, but when Glitch stopped working for our project we had to refocus our energies into deploying our app with Heroku, which again neither of us had experience with. As a result, we didn't get to incorporate ML into this version--check back for the next!--and we also didn't get to flesh out a lot of the functionality of the report shortcut.
This project pushed us both way out of our comfort zones, but we are incredibly proud of the result. Along the way, we both learned many new technologies, refined our adaptability and problem-solving skills, and took to heart the value of an amazing hackathon buddy!
The future of ALLI
We plan to continue this project once the hackathon ends, and we hope to deploy ALLI to the Slack App Directory. To do this, we will more fully implement all features in the reports, as well as make a more robust metric of toxicity based on research and models. Ideally, ALLI could eventually be used to set and track goals about workplace language.
In addition, we are planning to incorporate machine learning to make ALLI's automatic reporting more powerful. This weekend we learned how to use TensorFlow.js and we located a data set for sexist workplace statements—we hope to use both of these in the future to create an AI component for ALLI that can identify sexist statements in context.
We also want to expand ALLI to respond to problematic speech beyond sexism. We hope to make ALLI more intersectional by adding functionality to combat workplace racism, homophobia, ableism, xenophobia, and more.
All commands and responses
Something in this conversation doesn't sound right... Let's be thoughtful and respectful with our words.
Calling a woman by a pet name such as "honey" or "sweetheart" may be well intentioned, but really undermines her authority. Let's address each other by our preferred names.
The concept of "mansplaining" is when a man over-explains a concept to a woman, as if she is of lesser intelligence or mental capacity. Let's respect one another's intellect and individual value.
Ignoring a woman's voice or ideas is detrimental to her individually and to the team at large. Let's value everyone's contributions equally.
Playing into gender stereotypes fosters an unhealthy environment for people of all genders. Let's empower everyone to reach their highest potential.
Using sexist language makes many people uncomfortable and perpetuates a system that doesn't allow women to reach their highest potential. Let's be intentional and respectful with our words.
Women are not objects, and it makes them very uncomfortable to be treated in ways that reduce them to being just a body. Let's recognize the fullness of everyone's being and be careful with the implications of our statements.
Denying the existence of sexism only serves to more deeply ingrain and perpetuate it. Let's listen and accept the experiences of others, even if they are different from our own.
Placing a double standard on women's behavior is harmful to their well being and to the productivity of the workplace as a whole. Let's set our expectations and judgments equally.
In this workplace we value and empower people of all genders equally. We do not tolerate sexist comments. Please evaluate your behavior and expect a follow-up conversation.