[GSoC 2026 Introduction ] Aqeel - Plugin Modernizer Stats Visualization

Hi everyone,

I’m Aqeel, a Full-Stack Developer. My academic background is in Mechanical Engineering, but I transitioned into software development and spend my day-to-day working with React, Next.js, Node.js, and TypeScript.

I am really interested in the “Plugin Modernizer Stats Visualization” project for GSoC 2026. I’ve spent a lot of time building data-heavy dashboards and scalable APIs (including custom real-time uptime monitors), so taking the Jenkins modernization datasets and turning them into an insightful UI aligns perfectly with my stack.

I am currently digging into the jenkins-infra/metadata-plugin-modernizer repository to understand the data structures and how the aggregated metadata is updated for each plugin.

Quick question for the mentors: I see that one of the broader goals is better integration with the Plugin Health Score to automatically run recipes on plugins with low scores. For the visualization dashboard, should we aim to correlate the modernization metadata directly with these health scores to highlight which plugins are the absolute highest priority for the community to fix?

Looking forward to contributing and learning from the community!

To follow up on my own question after spending the last couple of weeks parsing the metadata-plugin-modernizer JSON schemas:

I realized that relying solely on the raw OpenRewrite output presents a triage problem. The JSON schemas give us binary execution states (success/fail/skipped) for specific recipes per plugin. However, in a vacuum, a recipe failure on a deprecated, low-usage plugin looks visually identical to a failure on a critical pipeline dependency.

To make the visualization genuinely actionable rather than just a massive log viewer, the data aggregation layer would need to cross-reference OpenRewrite states with external Plugin Health Scores or install counts. A dashboard showing “500 plugins failed the JUnit 5 migration” is overwhelming. But filtering to “15 plugins with a Health Score below 50 that failed JUnit 5” creates an actual prioritized hit-list for maintainers — which is a more interesting data-join challenge than it first appears.