[Junction 2025 Sitra Track Winner]
Inspiration
We started our thought process by looking at online participation platforms like Polis. They are websites where users can vote on various topics and see the results in real-time. They are accessible and simple to use, yet they are not widely used by young people. Why?
We are convinced that the current lack of participation is not due to a lack of interest, but rather to a lack of opportunities to engage. For example, Sarah (24 y/o) frequently reads online news articles, but mentioned that she never thinks about participating in political discussions.
When people read about climate change, they don't automatically think "I'm going to go to Polis to express what I think". They might think, "I wish I could do something about it". We need to bridge the psychological barrier between being informed and taking action.
ALR DMC: Reconnecting Young People with Politics
This is where ALR DMC comes in. We want to help people build the habit of taking action on the issues they care about. There's been several attempts before us, but they were politized, complex, or boring.
Our idea is strong because it is simple and effective. We built a browser extension that identifies when users are reading about topics that they can take action on by using platforms like Polis. After reading an article about the floods in Spain, the user may see a pop-up asking them "Should key infrastructure be rebuilt?".
This bridges the gap between information and action. We seek to naturally build the habit of taking action on the issues that you care about.
How we built it
- Chrome AI: We applied for the early preview version of a set of experimental browser APIs exposing access to Gemini Nano, running directly on the user's device. We toyed with the Summarization, Translation, Writing and Language Detection APIs before settling on the Prompt API, with more capabilities. These APIs were not fully documented and had bugs we needed to work around.
- Frontend workload: A significant concern for us was to preserve user privacy. We wanted to avoid their browsing data being sent to our servers. So we moved the majority of the workload to the frontend, even if there is little support for AI in the browser, needing significant manual work to make it work.
- Backend poller: The primary responsibility of our backend is to gather data from participation platforms and feeding that to clients. We built five data scrapers. Our server runs on Google Cloud.
- Extension: We built a Chrome extension that sets up an origin trial for the Chrome AI APIs. We also used
Transformers.jsto compute cosine similarity between the current content and the actionable items. We found that using keyword was experimentally better. - User research: We conducted 78 interviews to understand the needs of our target audience (details in the annex).
- Multilingual support: We support multilingual websites, expanding the scope of our project to any user around the world.
Challenges and accomplishments we're proud of
- Suboptimal client-side libraries: The official libraries supported could benefit from more features and better documentation. For instance, a
Tensordoesn't expose a method to do element-wise division, so ne needed to use it asmultiplication(1/x). - Poller unavailability: We had to build scrapers for the platforms we wanted to support, as they didn't have APIs. This was time-consuming and error-prone.
What's next
- Integration with other platforms: We want to integrate with other democratic participation platforms, such as Polis, to relay the user's vote to the platform. We would need to find a way to do so without compromising user privacy.
- Mobile support: We want to extend our extension to mobile devices, after the Chrome AI APIs make their way to mobile.
- More customization: We could adapt the suggestions to (e.g.) the user location, age, etc.
Built With
- docker
- google-cloud
- javascript
- mysql
- python
- pytorch
- transformers
- transformers-js



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