Today I had a small but meaningful experience as a mentor in IEEE Summer of Code.
I’m currently mentoring contributors working on an open-source Threat Incident Management System, and today I reviewed a first contribution from a first-time contributor.
This reminded me that open source isn't only about writing code. It's also about learning how to collaborate, review code, accept feedback, and improve an implementation.
🚀 The First Contribution
A contributor opened their first pull request to improve the frontend experience of our project.
PR #56 — Add a 1-click copy button for Incident IDs
The goal was simple:
SOC analysts frequently need to copy Incident IDs or IOC identifiers and use them in external tools. Instead of manually selecting and copying the ID, the contributor added a one-click copy button.
Changes included
- Added a copy button to the Incident Detail page
- Added a copy button to Incident cards
- Added visual
Copied!feedback - Used
e.stopPropagation()to prevent unwanted navigation when clicking the button
It was a useful improvement and a great first contribution.
🔍 Reviewing the First PR
The initial implementation worked, but during the review I noticed a few areas where we could make the code more maintainable and robust.
I requested three improvements.
1. Add a Clipboard Fallback
The implementation relied on:
navigator.clipboard
I asked the contributor to add a fallback for environments where the Clipboard API may not be available, particularly in non-HTTPS contexts.
This is a good reminder that:
Code that works in one environment isn't necessarily code that works everywhere.
2. Create a Reusable Component
The copy-button behavior was being implemented in multiple places.
Instead of duplicating the same logic, I suggested moving it into a reusable:
CopyButton.jsx
This makes the component easier to maintain and allows the same behavior to be reused across the application.
The principle is simple:
Don't duplicate behavior when it can be encapsulated into a reusable component.
3. Improve Accessibility
I also asked for an aria-label on the button.
For example:
aria-label="Copy incident ID"
This helps make the interface more accessible and communicates the purpose of an icon-only button to assistive technologies.
🧑💻 What I Learned as a Mentor
This PR reminded me that code review isn't just about saying:
"This works. Merge it."
A good review should help contributors understand why a change is recommended.
In this case, the discussion was about:
- Browser compatibility
- Component reusability
- Maintainability
- Accessibility
- User experience
And that's one of the things I enjoy about open source.
You get to work with people at different stages of their engineering journey, and a PR becomes more than just a code contribution — it becomes a learning opportunity.
🌱 First Contributions Matter
Seeing a first-time contributor open a PR is genuinely exciting.
Everyone starts somewhere.
That first issue, first commit, first pull request, first code review, and first merge can be an important step in someone's open-source journey.
As a mentor, I don't want contributors to simply submit code that passes a check.
I want them to gradually understand how professional software development works:
Issue
↓
Implementation
↓
Pull Request
↓
Code Review
↓
Feedback
↓
Improvement
↓
Merge
That's the real learning experience.
⚙️ Engineering Workflow
The PR also went through automated checks, including a SonarQube quality gate, and a Vercel preview deployment was generated for testing.
This is another important part of modern software development:
Write
↓
Test
↓
Review
↓
Analyze
↓
Deploy
↓
Improve
Even a relatively small frontend feature can go through a complete engineering workflow.
🎯 Final Thought
One of the best parts of contributing to open source is that you don't have to learn everything alone.
Someone can contribute code.
Someone else can review it.
The contributor learns from the review.
The project becomes better.
And the community grows.
That's what I hope to encourage through my mentoring experience in IEEE Summer of Code.
This was just one PR, but for a first-time contributor, it can be the beginning of a much bigger open-source journey.
First PR today. Better engineer tomorrow. 🚀
Project
Threat Incident Management System
An open-source security platform designed to help manage and investigate security incidents.
Contribution
PR #56 — 1-Click Copy Button for Incident IDs
Contributor: kunalRay21
Contribution: First open-source contribution
Program: IEEE Summer of Code
Role: Project Mentor



Top comments (0)