Outreachy/Past projects

This page tries to keep up with the current status of all past Outreach Program for Women/Outreachy projects.

Round 19
View bi-weekly reports of Outreachy Round 19 candidates

Converting Campaign pages to React

 * Intern: Lalitha Reddy
 * Mentors: Sage Ross, Khyati Soneji
 * Outcome: Created the campaign navbar and the home tab component in React.
 * Relevant links: project task, bi-weekly reports

Improvements and User Testing of Wiki Education Dashboard Android App

 * Intern: Agatevure Glory
 * Mentors: Ujjwal Agrawal, Victor Vicari
 * Outcome: Migrated the existing code architecture from Model View Presenter (MVP) to Model View ViewModel (MVVM). Added offline features for the app, created the campaign details page, and implemented the corresponding tabs.
 * Relevant links: project task, bi-weekly reports

A system for releasing data dumps from a classifier detecting unsourced sentences in Wikipedia

 * Intern: Aiko Chou
 * Mentors: Guilherme Gonçalves, Miriam Redi, Sam Walton
 * Outcome: 1) Developed a tool and public dataset named Citation Detective that contains sentences that have been identified as needing a citation using a machine learning-based classifier; 2) Created a proof of concept for integrating Citation Detective and Citation Hunt.
 * Relevant links: project task, meta page, github repository, blog posts

Documentation improvements to the ~20 top 100 most viewed MediaWiki Action API pages on-wiki

 * Intern: Zainab Abubakar
 * Mentors: Jerop Brenda
 * Outcome: Improved 33 top 100 most viewed Mediawiki Action API pages on-wiki
 * Relevant links: project task, bi-weekly reports, project summary, pull requests for sample codes

Create regression automated tests for Special:Homepage functionality testing

 * Intern: Sim Tran
 * Mentors: Elena Tonkovidova
 * Outcome: 1) Created automation tests for Special Homepage; 2) Created API tests for Special Homepage using Postman and Javascript (Node.js), Supertest, Mocha and Chai; 3) Research and compare two testing frameworks for automation testing: WebdriverIO and Cypress
 * Relevant links: blog posts, Automation test task, API test task, Gerrit code

Improve MediaWiki Action API Integration Tests

 * Intern: Esther Akinloose
 * Mentors: Daniel Kinzler Kate Chapman Clara Andrew-Wani
 * Outcome: I was able to complete the test for 12 cases from 3 modules and their corresponding failure cases. I also did publish 8 blog posts. Improved communication, writing and coding skills.
 * Relevant links: Project Proposal [|Blog Posts] Esther Akinloose

Documentation improvements to the ~20 top 70 most viewed MediaWiki Action API pages on-wiki

 * Student: Brenda Jerop
 * Mentors: Srishti Sethi, Sarah Rodlund
 * Outcome: Improved the documentation of 22 MediaWiki API documentation pages and developed one demo app.
 * Relevant links: Project reports, project task, project proposal

Improve Programs & Events Dashboard for use in the #1lib1ref campaign

 * Student: Khyati Soneji
 * Mentors: Sage Ross, Wes Reid
 * Outcome: Added support for counting references added to English Wikipedia articles in Programs & Events Dashboard, along with improved data download options and support for scoping via PetScan PSIDs.
 * Relevant links: Internship blog posts, project task

Research project on the editing patterns of users of wiki CX translation tool

 * Student: Doris Zhou
 * Mentor: Isaac Johnson, Jonathan Morgan
 * Outcome: Did research analyzing the editing patterns, article selection, and article writing quality of users who initiated article translation using the CX Translation tool. Looked specifically at English to French in depth and did some English to Chinese analysis.
 * Relevant links: bi-weekly reports, research meta page

Improve top 50 viewed pages of the MediaWiki Action API & create a demo app to educate users
Update MediaWiki Action API docs, add Python code to repo, create a demo app, and write a tutorial for the demo which showcases several APIs.


 * Student: Marty Hernandez Avedon
 * Mentors: Srishti Sethi and Sarah Rodlund
 * Status: 24 docs updated, demo app completed in Flask, tutorial published, 25 pull requests added to repo
 * Link to project task on Phabricator: T208291, T198916
 * Link to reports archives: Marty's blog (17 November 2018 to 8 March 2019)

Add a new Linter Category: Links-in-Links
Write code in Parsoid to detect links inside links and in PHP Linter extension to add this category.


 * Student: Gueleu Sylvie Farida
 * Mentor: Subbu
 * Status: Documented a wiki page for help, Pages with links in links error
 * Link to project task on Phabricator: T202905
 * Link to reports archives: My blog

Provide Test Support for Various Wikimedia Projects
Apply exploratory testing principles to test weekly maintenance releases of Content Translation tool and Visual Editor.


 * Student: Barb Van Dine
 * Mentors: Elena Tonkovidova and Rummana Yasmeen
 * Status: Created regression test suite and regression checklist for Content Translation beta (CX2); created regression checklist for Visual Editor; performed weekly regression tests of CX2 and (from 1/06 onward) smoke tests of Visual Editor; documented 11 bugs; contributed exploratory testing for 4 existing bugs; verified patches for 5 bugs; created a resource page for future CX2 testing interns and new contributors.
 * Link to project task on Phabricator: T207922
 * Link to reports archives: weekly reports and blog

QA: Testing Automation - port Echo Notification tests to Node.js
Created automated tests to check that updates to the changes made to the code base do no break existing components.


 * Student: Giselle J
 * Mentors: Elena Tonkovidova
 * Status: Created tests for Echo Notification that are either up for review or merged into the main codebase. Created cucumber files to explain proposed tests. Worked on breaking up large tests into smaller components.
 * Link to project task on Phabricator: T217051
 * Link to reports archives: weekly reports and blog

Create an event setup wizard for Programs & Events Dashboard
Design, create and test a wizard which helps to make it easy for users to set up an event with exactly the settings they need, which is an interface that walks through all the main options and describes what they do and what they are for to help configure an event.


 * Student: Yakam Cressence
 * Mentors: Sage Ross, Urvashi Verma, Pratyush Singhal
 * Status: Created a setup wizard to make it easy for users to set up an event with exactly the settings they need.
 * Relevant Links: Programs & Events Dashboard
 * Link to reports archives: My blog

Round 16
See GSoC 2018 Code analytics for statistics on code contributed by these projects.

Improve support for photo/media contribution campaigns on Wikimedia Programs & Events Dashboard
Made media contributions a first class citizen in the Wikimedia Programs & Events Dashboard. The project included building dedicated user-friendly pages for viewing and assessing the metadata of uploads from a specific campaign, and adding upload contribution statistics in other views alongside article statistics.


 * Student: Urvashi Verma
 * Mentors: Sage Ross, Jonathan Morgan
 * Try it: Visit an example campaign gallery
 * Relevant links: project task, final report, weekly reports

Round 15
View monthly highlights from the weekly blogposts of Outreachy Round 15 candidates

Automatically detect spambot registration using machine learning like invisible reCAPTCHA
Create a captcha which is friendlier to humans and harder for bots to crack
 * Student: Vinitha V S
 * Mentors: Gergő Tisza and Adam Roses Wight
 * Status: Created a system to collect data for feature creation and used this to build a basic machine learning model.
 * Link to project task on Phabricator: T178463
 * Link to weekly reports archives: Vinitha's blog
 * Project showcase video URL: video

Improvements to Grants review and Wikimania scholarships web apps
Improve scholarships and grant review applications by important bug fixes and feature additions
 * Student: Neha Jha
 * Mentors: Bryan Davis and Niharika Kohli
 * Status: Fixed the bugs listed in the proposal and added a few additional features
 * Link to project task on phabricator: T177770
 * Link to weekly reports archives: Neha's blog

Refactoring of MassMessage Extension
Fix technical depth cleaning on MassMessage
 * Student: Noella
 * Mentors: Kunal Metha and Alangi Derick
 * Status: Completion of and submission of most tasks listed in proposal
 * Link to project task on phabricator: T178431
 * Link to weekly reports archives: Noella's blog

Translation outreach: User guides on MediaWiki.org
Create, test and document new strategies to recruit technical translators
 * Student: Anna e só
 * Mentors: Johan Jönsson and Benoît Evellin
 * Status: Two new strategies were tested; a final report was written as legacy for those interested in continue my work, as well as other meaningful documentation of my work.
 * Link to project task on Phabricator: T177797
 * Link to weekly reports archives: Anna's blog
 * Project showcase video URL: https://youtu.be/GgErSSFdt0M

User Contribution Summary Tool
Create a tool that's optimized for presenting one's activity on wikipedia in a CV-like manner
 * Student: Megha Sharma
 * Mentors: Gergő Tisza and Stephen LaPorte
 * Status: Tool is almost complete with all the modules of CV done and submitted, requires final touches and few optimizations
 * Link to project task on Phabricator: T178688
 * Link to weekly reports archives: Megha's Blog
 * Project showcase video URL: video

Improve Programs & Events Dashboard support for Art+Feminism 2018
Improve the Program & Events Dashboard from WikiEducation based on the feedback from the Art+Feminism campaign of 2018.


 * Student: Candela Jiménez Girón (Mauditecandela)
 * Mentors: Sage Ross and Jonathan Morgan
 * Status: Released several features that were already tested and enjoyed by the Art+Feminism organizers
 * Link to project task on Phabricator: T174715
 * Link to weekly reports archives: Maudite Codes
 * Project showcase video URL: video

Round 14
View monthly highlights from the weekly blogposts of Google Summer of Code 2017 and Outreachy Round 14 candidates

Watch the full final project showcase(slides)

Remind me of this article in X days
Make it possible for logged-in user to get a reminder of an article after a few

days. Possibility to enter a short comment.
 * Student: Ela Opper
 * Mentors: Moriel Schottlender and Matt Flaschen
 * Status: All tasks as mentioned in the proposal and in the timeline have been completed.
 * Link to project task on Phabricator: T2582
 * Link to weekly reports archives: My blog
 * Project showcase video URL: https://youtu.be/z99ENVV4p5c

Documentation on how to develop Zotero translators at translation-server
Document the process of writing Zotero web translators on server side and on Scaffold and how to get them in production.
 * Student: Sonali Gupta
 * Mentors: Marielle Volz and Czar
 * Status: Documentation in English prepared, waiting for review. Documentation in Hindi not prepared.
 * Link to project task on Phabricator: T115158
 * Link to weekly reports archives: T165144, Personal Blog
 * Project showcase video URL: https://youtu.be/8MYGVsqWHhs

Allow Programs & Events Dashboard to make automatic edits on connected wikis

 * Student: Medha Bansal
 * Mentors: Sage Ross and Jonathan Morgan
 * Status: All tasks as mentioned in the proposal and in the timeline have been completed. Project is live with all supporting documentation.
 * Link to project task on Phabricator: T158678
 * Link to weekly reports archives: Weekly reports

Creating User Profile Pages for Wiki Ed Dashboard and providing cumulative statistics for all programs a user has participated in.
Added customizable Profile pages to the Wiki Education Dashboard and generated contribution statistics of the users, providing them a brief overview of all the contributions they made to encourage them to do more.
 * Student: Sejal Khatri
 * Mentors: Sage Ross and Jonathan Morgan
 * Status: Successfully completed.
 * Link to project task on Phabricator: T147727
 * Link to Blog Posts: Personal Blog

Easier categorization of pictures in Upload to Commons Android app
This project improves the image categorization functionality of the app by offering relevant category suggestions based on geolocation, and making category search more flexible.
 * Student: Josephine Lim
 * Mentors: Stephen Niedzielski and Nicolas Raoul
 * Status: All tasks as mentioned in the proposal and in the timeline have been completed.
 * Link to project task on Phabricator: T115101

Reinvent Translation Search
The objective of this project is to offer a search tool to empower translators to find messages they want to translate and maintain consistency between translations.
 * Student: Dibya Singh
 * Mentors: Niklas Laxström and Federico Leva
 * Status: All tasks as mentioned in the proposal and in the timeline have been completed.
 * Link to project task on Phabricator: T92929

Round 9
Link to proposals page.

Wikipedia article translation metrics
"This project aims at building a model that would estimate whether a page is translated or not, using statistical analysis and machine learning tools."


 * Students: Neta Livneh and  Roxana Necula
 * Mentors: Amir Aharoni and  Joel Sahleen
 * Wrap-up blogpost: Link
 * Phabricator Evaluation task: phab: T92240
 * Status: Functional prototype for some of the pages. Still needs to run it on the whole database. Can also add more functionally for the translation detector.

Pywikibot compat to core migration
"The purpose of this project is to improve all the documentation including getting started guides and project documentation in Pywikibot."
 * Student: Priyanka
 * Mentors: Amir Sarabadani and John Vandenberg
 * Wrap-up blogpost: Link
 * Phabricator Evaluation task: phab: T92241
 * Status: Failed. Prototype incomplete. No documentation. Code needs to be rewritten largely.

Wikipedia Education Program need-finding research
"The task is to improve the function, usability and design of the course pages for both professors and students."
 * Student: Anke Nowottne
 * Mentors: Sage Ross and  Andrew Green
 * Wrap-up blogpost: Link
 * Phabricator Evaluation task: T92242
 * Status: The final report is published here.

Collaborative spelling dictionary building tool
"The project aims at developing a collaborative dictionary which shall also have an additional feature of checking spellings of the words."
 * Student: Ankita Shukla
 * Mentors: Amir Aharoni and  Kartik Mistry
 * Wrap-up blogpost: Link
 * Phabricator Evaluation task: T92243
 * Status: Functional prototype as MediaWiki extension working. There are few pending quirks and issues and possibility to extend project further. Available on GitHub

Adding Performance Instrumentation to Parsoid
"This project will develop a dashboard of metrics that will allow users to, at-a-glance, understand Parsoid's performance. It will provide a resource for application tuning, quick assessments of production readiness, and troubleshooting sources of performance problems."
 * Student: Christy Okpo
 * Mentors: Subramanya Sastry
 * Wrap-up blogpost: Link
 * Phabricator Evaluation task: Link
 * Status: Dashboards have been created, here and here. A glossary of metrics and guide to performance instrumentation using Graphite, have also been created.

Extending PyWikiBot support to sites on IWM
"PyWikiBot currently supports only a few wiki projects. At the end of this project, the benefits of automation of tasks by PWB will be provided to all MediaWiki sites on the Interwikimap, and provide the basis for support of non-MediaWiki wiki sites and non-wiki sites."
 * Student: Manpreet Kaur
 * Mentors:John Mark Vandenberg, Fabian Neundorf
 * Wrap-up blogpost: Link
 * Phabricator Evaluation task: Link
 * Status: Final report can be found here. Further work to be done on non-mw sites.

Improving URL citations on Wikimedia
Aims to make citing sources in VisualEditor easier by generating a citation given a unique identifier such as a URL or DOI.
 * Student: Marielle Volz
 * Mentors: James Forrester, Trevor Parscal, Gabriel Wicke, Matthew Walker
 * Wrap-up blogpost: Link
 * Final Report: Link
 * Status: Completed with working prototype, but the prototype required hard-coding of templates and so was not usable in a general manner on wikis at the end of the internship. Changes to TemplateData extension to allow it to work in a non-hard coded way were merged in Nov 2014 (4 months after internship completion). Entire project went into production in March 2015. Extension has been deployed on all language wikis, although not all language wikis have configured it. Phabricator board for project here.

Enhancing Wikimaps/OpenHistoricalMaps Project

 * Student: Jaime Lyn
 * Mentors: Dr. Rob Warren
 * Wrap-up blogpost: Link
 * Final report:
 * Status:

Welcome to labs - Welcoming new contributors to Wikimedia Labs and Tool Labs

 * Student: Dinu Kumarasiri
 * Mentors: Andrew Bogott
 * Wrap-up blogpost:
 * Final report: Link
 * Status:

Finding the best and making them better: Evaluating, documenting, and improving MediaWiki web API client libraries

 * Student: Frances Hocutt
 * Mentors: Sumana Harihareswara
 * Wrap-up blogpost:
 * Final report: Link
 * Status:

Feed the Gnomes - Wikidata Outreach

 * Student: Helen Halbert
 * Mentors: Lydia Pintscher
 * Wrap-up blogpost: Link
 * Final report:
 * Status:

Template Matching for RDFIO

 * Student: Ali King
 * Mentors: Joel Sachs and Samuel Lampa
 * Wrap-up blogpost:
 * Final report:
 * Status: Link

WikiHunt the 'Property': Wikidata Outreach Initiative

 * Student: Anjali Sharma
 * Mentors: Lydia Pintscher
 * Wrap-up blogpost: Link
 * Final report:
 * Status:

Round 7

 * Anu G Enchackal - UploadWizard:OSM Map Embedding (mentored by Gergő Tisza)
 * Diwanshi Pandey - Complete the MediaWiki development course at Codecademy (Yuri Astrakhan)
 * Brena Monteiro - mediawiki.org homepage redesign (Heather Walls and Quim Gil)
 * Be Birchall - Clean up Parsoid round-trip testing UI, including using a templating system (Marc Ordinas and Subramanya Sastry)
 * Maria Pacana - Clean up tracing/debugging/logging inside Parsoid (Subramanya Sastry and Arlo Breault)
 * Niharika Kohli - Compact interlanguage links as a beta feature (Sucheta Ghoshal and Pau Giner, co-mentored by Niklas Laxström)