Grants:Programs/Wikimedia Community Fund/Rapid Fund/Development of the Ultraviolet counter-vandalism userscript (ID: 22449356)

From Meta, a Wikimedia project coordination wiki
statusNot funded
Development of the Ultraviolet counter-vandalism userscript
proposed start date2024-07-01
proposed end date2024-08-30
budget (local currency)3000 GBP
budget (USD)3791.97 USD
grant typeIndividual
funding regionNWE
decision fiscal year2023-24
applicant• Sportzpikachu
organization (if applicable)• N/A

This is an automatically generated Meta-Wiki page. The page was copied from Fluxx, the grantmaking web service of Wikimedia Foundation where the user has submitted their application. Please do not make any changes to this page because all changes will be removed after the next update. Use the discussion page for your feedback. The page was created by CR-FluxxBot.

Applicant Details[edit]

Main Wikimedia username. (required)




If you are a group or organization leader, board member, president, executive director, or staff member at any Wikimedia group, affiliate, or Wikimedia Foundation, you are required to self-identify and present all roles. (required)


Describe all relevant roles with the name of the group or organization and description of the role. (required)

Main Proposal[edit]

1. Please state the title of your proposal. This will also be the Meta-Wiki page title.

Development of the Ultraviolet counter-vandalism userscript

2. and 3. Proposed start and end dates for the proposal.

2024-07-01 - 2024-08-30

4. Where will this proposal be implemented? (required)

Hong Kong

5. Are your activities part of a Wikimedia movement campaign, project, or event? If so, please select the relevant project or campaign. (required)

Not applicable

6. What is the change you are trying to bring? What are the main challenges or problems you are trying to solve? Describe this change or challenges, as well as main approaches to achieve it. (required)

Ultraviolet is a counter-vandalism userscript, aiming to be a more user-friendly and modern version of the Twinkle gadget. Ultraviolet is the rewrite of the RedWarn tool, which suffers from hard to maintain code and reliance on custom build tools. Ultraviolet was started in late 2020, but still has not been completed 3 years later, due to the Ultraviolet team being comprised of volunteer student developers, who have had to focus on other commitments.

This grant aims to release a stable 1.0 version of Ultraviolet with full feature compatibility with RW 16.1 (compatibility matrix). Additionally, the internal architecture of Ultraviolet will be updated in order to remove as many external dependencies as possible, only relying on dependencies bundled with MediaWiki. This will speed up the script’s load time and could also improve user privacy and security. Hopefully, the new architecture will be able to be much more understandable by editors who wish to contribute code patches to Ultraviolet.

7. What are the planned activities? (required) Please provide a list of main activities. You can also add a link to the public page for your project where details about your project can be found. Alternatively, you can upload a timeline document. When the activities include partnerships, include details about your partners and planned partnerships.
  • Replace Webpack and TSX-DOM with Vite and Vue.js – T348406
    • Use the new Material Web Components library for UI – T348405
  • Full feature compatibility with RW 16.1 – #rw_compat
  • Implement i18n using built-in mw.message instead of i18next – T348470
    • Integrate TranslateWiki for translation contributions from the community
  • Implement unit/integration testing using Playwright – T333548
  • Write documentation at en:WP:UV with any time remaining

8. Describe your team. Please provide their roles, Wikimedia Usernames and other details. (required) Include more details of the team, including their roles, usernames, Wikimedia group, and whether they are salaried, volunteers, consultants/contractors, etc. Team members involved in the grant application need to be aware of their involvement in the project.

I am the only member of the of the Ultraviolet team that will be working on this grant. I am currently the assistant project lead on the project and have been working on the project since November 2020.

9. Who are the target participants and from which community? How will you engage participants before and during the activities? How will you follow up with participants after the activities? (required)

Users of the Ultraviolet and RedWarn userscripts from the English Wikipedia community (and hopefully other language Wikipedias through the localization module to be developed). Engagement with the community will be through the talk page at en:WT:Ultraviolet.

10. Does your project involve work with children or youth? (required)


10.1. Please provide a link to your Youth Safety Policy. (required) If the proposal indicates direct contact with children or youth, you are required to outline compliance with international and local laws for working with children and youth, and provide a youth safety policy aligned with these laws. Read more here.


11. How did you discuss the idea of your project with your community members and/or any relevant groups? Please describe steps taken and provide links to any on-wiki community discussion(s) about the proposal. (required) You need to inform the community and/or group, discuss the project with them, and involve them in planning this proposal. You also need to align the activities with other projects happening in the planned area of implementation to ensure collaboration within the community.

Notified on the Discord server and on the Ultraviolet talk page (en:WT:UV#Update_on_Ultraviolet) on 24 December 2023

12. Does your proposal aim to work to bridge any of the content knowledge gaps (Knowledge Inequity)? Select one option that most apply to your work. (required)

Not applicable

13. Does your proposal include any of these areas or thematic focus? Select one option that most applies to your work. (required)

Open Technology

14. Will your work focus on involving participants from any underrepresented communities? Select one option that most apply to your work. (required)

Not applicable

15. In what ways do you think your proposal most contributes to the Movement Strategy 2030 recommendations. Select one that most applies. (required)

Improve User Experience

Learning and metrics[edit]

17. What do you hope to learn from your work in this project or proposal? (required)
  • How can Vue.js be used in a Wikimedia userscript and integrate with on-wiki tools such as ResourceLoader?
18. What are your Wikimedia project targets in numbers (metrics)? (required)
Number of participants, editors, and organizers
Other Metrics Target Optional description
Number of participants 1 Myself, developing the Ultraviolet userscript
Number of editors 200 200 returning editors. See additional metric #2
Number of organizers 1
Number of content contributions to Wikimedia projects
Wikimedia project Number of content created or improved
Wikipedia 10
Wikimedia Commons
Wikimedia Incubator
Wikifunctions or Abstract Wikipedia
Optional description for content contributions.

Userscript at en:User:10nm/beta.js and documentation at en:WP:UV

19. Do you have any other project targets in numbers (metrics)? (optional)


Main Open Metrics Data
Main Open Metrics Description Target
Compatibility with RedWarn 100% compatibility with RW 16.1, as shown on the compatibility matrix 100
Editors using UV over RW As of 2023-12-14, there are 205 users with more RW edits in the past month than UV edits, compared to 63 users with more UV edits in the past month. (see With the release of UV, there will hopefully be greater user adoption amongst the RW userbase. 200
Hours working on this grant 60 days * 5 hrs. Includes all grant related activities: development, debugging, writing tests, writing documentation, responding to community feedback, etc. 300
20. What tools would you use to measure each metrics? Please refer to the guide for a list of tools. You can also write that you are not sure and need support. (required)

Editors using UV over RW: Quarry query Hours worked: Wakatime plugin on IDE and browser

Financial proposal[edit]

21. Please upload your budget for this proposal or indicate the link to it. (required)

22. and 22.1. What is the amount you are requesting for this proposal? Please provide the amount in your local currency. (required)

3000 GBP

22.2. Convert the amount requested into USD using the Oanda converter. This is done only to help you assess the USD equivalent of the requested amount. Your request should be between 500 - 5,000 USD.

3791.97 USD

We/I have read the Application Privacy Statement, WMF Friendly Space Policy and Universal Code of Conduct.


Endorsements and Feedback[edit]

Please add endorsements and feedback to the grant discussion page only. Endorsements added here will be removed automatically.

Community members are invited to share meaningful feedback on the proposal and include reasons why they endorse the proposal. Consider the following:

  • Stating why the proposal is important for the communities involved and why they think the strategies chosen will achieve the results that are expected.
  • Highlighting any aspects they think are particularly well developed: for instance, the strategies and activities proposed, the levels of community engagement, outreach to underrepresented groups, addressing knowledge gaps, partnerships, the overall budget and learning and evaluation section of the proposal, etc.
  • Highlighting if the proposal focuses on any interesting research, learning or innovation, etc. Also if it builds on learning from past proposals developed by the individual or organization, or other Wikimedia communities.
  • Analyzing if the proposal is going to contribute in any way to important developments around specific Wikimedia projects or Movement Strategy.
  • Analysing if the proposal is coherent in terms of the objectives, strategies, budget, and expected results (metrics).