This year, the team has been implementing changes to Uli on the development side, and there have been many notable updates. In the process of conducting workshops with university students to explore Uli's use as a pedagogical tool for sensitization, we also created functionalities that show great potential for different use cases. This made us rethink the experience of using Uli and prioritize features differently. In this post we will go over changes we made to the browser extension and new features we built to support these workshops. We were earlier able to build out our hover feature with help of a contributor through the DMP program we participated in. This feature allows you to hover on a slur word and view the contextual information (what we call “metadata”) behind it; you can enable it on the latest version of Uli by selecting the “Enable Slur Metadata” feature:

Uli-new-features-2025

In the process of updating Uli, we also created the following options on the plugin:

  1. Account: You can create a user account on Uli with just your email ID. This allows you to add words to your personal block list, add slurs and metadata information about them, and allows the plugin to save this information so the features function with your preferences in mind. Having an account also allows you to retain your contributions across multiple browsers. This also lays down the groundwork to quantify user contributions and possibly reward them in the future.

  2. My Contributions: Once logged in, this feature allows you to add slurs and metadata about their usage.

  3. Download New Crowdsourced Slurs: When you click this, it allows you to have up to date slur data as and when we update the database.

  4. Add to your personal block list: You can add any words you choose to by selecting this option. Once you save the words, the plugin will begin to redact those words on your browser pages.

Ahead of workshops we were conducting with college faculty and students, we worked on easing the process of demonstrating the value of Uli to our audience, such as the process of crowdsourcing online, and the metadata display on slur words. There were constraints posed in terms of limited access to laptops, which meant we needed to work out a way to enable the Uli experience on a mobile device as well.

  1. Uli Community Page

    We created a page that would allow users to look at words they added to the crowdsourced list, as well as the contextual information added about it, as below. It was developed using the Phoenix web framework in the Elixir programming language and we use PostgreSQL for our database.

Uli input 1
  1. Interactive Input Page For our second workshop, we wanted to have an interactive exercise where we set forth examples of daily life with uncomfortable interactions and problematic words mixed in during conversations. Presented with the limitation that students only had access to their mobiles and not laptops, we needed an interface for the students to test it against our database of slurs and our hover feature which would display the metadata behind a slur while highlighting them. Therefore we created a separate web page on the Uli website, where students could input the illustrations we had written, and receive an output with the hover feature’s functionality displayed. This feature processes the input text, checking it against predefined metadata. Matched words are wrapped with styled HTML elements for highlighting and hover effects, and the result is dynamically rendered. React components manage state and lifecycle events for interactions.
Uli input 1Uli input 2

These functionalities proved extremely useful for us during our workshops: our participants were able to quickly grasp and take part in the task owing to the ease with which they could access them. As we explore further possibilities, we welcome any feedback and suggestions. Our repositories are open on Github, and we invite contributors interested in exploring these projects to check out our open issues and reach out here. We have also outlined our learnings from the workshop on another blog post here, if you’d like for us to conduct one for you, do let us know.