Post-Contribution Task: Creating a Live Tool for the Lusophone Wishlist #8
My Experience

The Start
On April 15th, I submitted my official Outreachy final application. I should have rest but Instead of stopping there I felt like something was missing. I wanted to give the Portuguese-speaking community a real solution for Wish #8 (a tool to count Wikidata edits).
I sat down with my register and drew exactly how I wanted the screen to look. I didn't want a boring table. I wanted a live terminal that felt fast and exciting.
Turning a Game into a Tool
Suddenly I jumped in excitement when I got an idea in mind that was A Healthy Competition. I really wanted to implement my idea so I designed 6 levels of badges. I wanted editors to feel like they were leveling up in a game while they improved Wikidata.
It wasn’t just about the looks, though. I wanted the engine to be built with a professional mindset. I thought about the concept of RAG (Retrieval-Augmented Generation) from my Machine Learning background. While my tool isn't a full AI system, I used that same core idea: Data Retrieval.
In the AI world, Retrieval is the part where a system goes out, finds the right data in a massive database, and brings it back to be used. I applied this same logic here. My tool acts like a specialized search engine. It connects to the Wikidata API, identifies the specific raw data for every participant, and pulls it into the terminal in real-time to calculate the score. By using this professional approach, I made the fetching process fast and accurate, just like a high-level data pipeline.
My 4 Days journey
Day 1:
I spent the first day making the system smart. A simple tool might miss Brazilian editors. I wrote code to make sure it catches both Portuguese (pt) and Brazilian (pt-br) edits as well as Global Edits too of which I made sure in my tool that the calculation of the global and portuguese one remains separate for easy understanding.
Day 2:
I worked on the backend (the database). I used a special type of number called a BigIntegerField. Since Wikidata has billions of edits, normal numbers would eventually crash the system. I built it so it never breaks, even as the project grows.
Day 3:
This was my hardest day. Most developers use big monitors, but who knows anyone is using their phones to view my tool. So, I had to make my model a small screen friendly too. At 1st my tool was behaving terribly on my phone screen. Then I spent hours making a Swipeable Table. I even added a neon-green hint that tells users to Swipe to see scores but I also made sure this swipe instruction won't show for the laptop users. Since we can't hover on a phone, I built special popups so we can see full usernames with one tap.
Day 4:
I wanted to make sure no one could cheat. I added a Live QID Tracker. Now, an organizer doesn't just see a score; they see a link to the exact item the person edited. It is a one-click check to keep everything fair.
Why this tool matters
The Portuguese community needed a tool that felt alive. By scanning 20 users at the same time, my tool finishes in seconds. I used a simple math formula to give different points for Labels, Descriptions, Facts etc:
$$Total Score = \sum (Labels \times w_L) + (Descriptions \times w_D) + (Facts \times w_F) + (References \times w_R) + (Images \times w_I)$$
Plan Successful
There is no feeling like looking at a live screen with blinking lights and seeing your code actually work. It’s not just a script on my laptop anymore; it’s a living system.
I have now recorded all my work and made the code ready to be plugged into the main WikiScore website.
I am excited to show the mentors what a self-taught developer can build in just 4 days when they truly care about the mission.
Links to the Project:
Thank you for following my journey! :)
~Shehrbano Ali
