Page MenuHomePhabricator

Proposal: Addressing the new Lusophone technological wishlist proposals
Closed, DeclinedPublic

Description

proposal for https://phabricator.wikimedia.org/T386128

Profile

Name: Ume Kibe Comfort
IRC handle: umekibe
Email: umekibe@gmail.com
GitHub: https://github.com/umekibe
Location: Lagos, Nigeria
Time Zone: UTC+1
Typical working hours: 9AM - 2AM (UTC+1)


Synopsis

The Lusophone technological wishlist is an initiative within the Portuguese-speaking (Lusophone) Wikimedia community that aims to improve the technological experience for editors, readers, and researchers. A survey was conducted to identify and prioritize technological needs and improvements for Wikimedia projects in Portuguese.This aligns with Wikimedia’s broader 2030 Movement Strategy to improve user experience and foster innovation in free knowledge.

mentors: @Ederporto, @Arcstur


Proposal: A Tool to List Pages with Broken Links

( https://phabricator.wikimedia.org/T386128 )

📌 The Problem

  • Many Wikipedia pages have broken links—links that no longer work because the original webpage was deleted, moved, or changed.
  • Editors and readers rely on these links for references, credibility, and fact-checking, but broken links make it harder to verify information and reduce Wikipedia’s reliability.
  • Currently, there is no easy way to find all pages with broken links on Portuguese Wikipedia. Editors have to search manually or rely on outdated methods.

🎯 The Proposed Solution

  • Create a tool that automatically lists all Wikipedia pages with broken links ( inspired by the Dead Link Finder used on the German Wikipedia )
  • The tool will allow users( editors and readers ) to check broken links in a set of pages, grouped by hidden categories, making it easier to identify and resolve these issues.
  • This list will be updated regularly so editors can quickly find and fix broken links.

Development Plan & Timeline

PhaseTimelineTasks
Research & PlanningJune 1 – June 14Study and analyze existing tools such as the Dead Link Finder Tool and Pywikibots weblinkchecker.py script. Gather requirements, define the scope and features of the tool. Define the deliverables, implentation plan and functionalities of the tool. Engage with Lusophone wikicontest organizers to understand their needs.
Prototype DevelopmentJune 15 – June 30Design the UI, prototype and workflow. Set up the environment and necessary dependencies. Develop script to crawl pages, check links, store results and other core functionalities for the tool. Test on sample pages. Add pagination and filters (e.g., by category or date range). Use Toolforge integration for hosting the tool . Testing and Evaluation of Prototypes.
Testing, Scaling & OptimizationJuly 1 – July 21Test the tool across different browsers and devices. Conduct thorough testing to identify and fix bugs. Collect feedback from users using survey forms and community discussions with the Lusophone Wikipedia community. Implement recommendations and user suggestions and test iterations. Evaluation and Testing
Deployment & Community EngagementJuly 22 – August 10Deploy tool on the portuguese Wikipedia. Announce and promote the tool through wikicontests, education programs, and edit-a-thons. document usage. Create comprehensive documentation (installation, usage, troubleshooting) and user manual. Monitor usage and gather more feedback for further improvements.
Final Testing & HandoverAugust 11 – August 30Finalize and debug any issues, finalize report and documentation, onboard maintainers, present final demo.

Deliverables

Research and Planning

  • Competitive analysis of similar tools (Dead Link Finder, weblinkchecker.py)
  • Defined scope, features, and deliverables
  • Community needs summary (based on engagement with Lusophone organizers)

Prototype Development

  • Initial working script to crawl pages and detect broken links
  • Database or structured file to store results
  • Prototype UI (CLI or simple web interface)
  • Toolforge integration test

Testing, Scaling & Optimization

  • Testing logs and bug reports
  • Survey forms or feedback collection templates
  • Documented iterations based on community input

Deployment & Community Engagement

  • Publicly accessible deployed tool (via Toolforge or linked from Wikipedia)
  • Complete documentation (setup, usage, troubleshooting)
  • Wiki page for the tool

Final Testing & Handover

  • Final version of the tool
  • Debug report with resolved issues
  • Maintenance guide for future contributors
  • Final internship report & presentation/demo
  • Handover checklist

Technical Stack & Tools

  • Language: Python
  • Libraries: Requests, BeautifulSoup, Selenium (if needed)
  • Infrastructure: Toolforge, Wikimedia Cloud Services
  • Storage: CSV, database, or on-wiki reports
  • Version Control: GitHub/GitLab

Expected Impact

Supports Wikimedia’s 2030 strategy for user experience and innovation.
Enhances credibility by improving reference reliability.
Saves editor time through automation.
Encourages new contributors by simplifying content maintenance.
Ensures a more inclusive and productive environment for Portuguese-speaking users.


About Me

Hi, I’m Kibe, a back-end developer / data scientist with a degree in Computer and Information Science from Covenant University. I’ve completed specializations in Python for Data Science, Applied Data Science, and Machine Learning, which have shaped my ability to build practical, data-driven solutions as well as a software engineering diploma from Alt School Africa, with a specialization in Back End Engineering.

I’m passionate about using tech to improve digital access and community experiences, and I bring strong communication, adaptability, and problem-solving abilities—skills I’ve sharpened through interacting with diverse teams and supporting digital projects. I’m excited to grow, learn, and meaningfully contribute to this Outreachy project by building tools that empower the Lusophone Wikipedia community.

Experience
I have built several machine learning projects and gained practical experience with Python and its libraries and frameworks such as Django and Flask. I also used nodeJs., CSS, Python , HTML and Javascript while developing my capstone project for the software engineering diploma at Alt School Africa. I learnt how to build easily reusable and maintainable code, API integration and best development practices. The projects can be found on my [[ www.github.com/umekibe | GitHub Profile ]]

Excited to contribute to this impactful project!


What I Expect to Achieve by the End of the Outreachy Internship:

  • Deliver a Working Tool That Solves a Real Problem
  • Gain hands-on experience collaborating in open-source ecosystems like Wikimedia
  • Deepen my practical knowledge of Python, APIs, data scraping, automation, and deployment (especially on platforms like Toolforge).
  • Learn to handle real-world edge cases, scale tools, and write clean, maintainable code.
  • Build Confidence in Community-Focused Development and understanding how to develop tools that are inclusive, relevant, and usable.
  • Grow as a Collaborative Developer