As of August 26, 2026, GitHub reports that 398 merged pull requests carry my name on the author line.
Twenty nine of those live inside repositories that I own myself, so I removed them from this count on purpose. What remains is the number that actually matters to me: 369 pull requests merged into other people's repositories, across 33 external projects, maintained by strangers who had zero reason to trust my code.
Every single one of those 369 merges is real, dated, and linked in this post. Nothing here is rounded up and nothing is claimed without proof.
This post runs from present to past. We start this week, with fixes that merged days ago, and travel backward until we reach a New Year's Day in 2024 when none of it existed yet. Read it that way and you can watch quality emerge backwards out of pure repetition.
If you want to skip my writing entirely, open the search query in section two and run it yourself. That is the whole point of this article. You should never have to take a stranger's word about their own stats.
Jump To Any Section
- How I Verified These Numbers, the exact query anyone can run
- The Complete Scoreboard, every headline number in two tables
- August 2026 And The Year Production Code Got Merged, Kiro, GenOffice, OpenClaw, Gemini CLI
- 2025 Fewer Pull Requests Higher Quality, the pivot and TheAlgorithms
- 2024 The Year Of Volume, the Hacktoberfest grind and where it all started
- What 369 Merges Taught Me, five lessons worth stealing
- Frequently Asked Questions
- Where To Find Me
How I Verified These Numbers
I did not count these by hand. I queried the GitHub search API directly, which means the numbers come from GitHub itself, not from my memory or my ego.
You can reproduce everything in this post with one click:
https://github.com/search?q=is%3Apr+is%3Amerged+author%3Aaniruddhaadak80&type=pullrequests
Or if you have the GitHub CLI installed:
gh api -X GET search/issues -f q="is:pr is:merged author:aniruddhaadak80"
That query currently returns 398 results. I then filtered out every repository under my own account, which left exactly 369 external merges. The math is boring on purpose: 398 minus 29 own repository merges equals 369.
One more honest number before we go further. I have submitted 918 pull requests in my lifetime so far. That means fewer than half of everything I ever sent got merged. Rejection is not the exception in open source, it is the price of admission, and anyone who shows you a 100 percent merge rate is probably only showing you half their history.
The Complete Scoreboard
| Metric | Count |
|---|---|
| Pull requests submitted, all time | 918 |
| Pull requests merged, all time | 398 |
| Merged into other people's repositories | 369 |
| Merged into my own repositories, excluded here | 29 |
| External repositories that accepted my work | 33 |
| Most recent external merge | August 25, 2026 |
| First external merge | January 1, 2024 |
The yearly shape of it, newest first:
| Year | External Merges | What That Year Was About |
|---|---|---|
| 2026 | 38 | Production code in tools used by millions |
| 2025 | 25 | Slowing down and aiming at harder targets |
| 2024 | 306 | Learning the mechanics at scale during Hacktoberfest |
Thirty eight merges in 2026 look modest until you learn they were preceded by three hundred six in a single year of deliberate practice. The volume was tuition. Keep reading and you will see exactly how tuition turned into dividends, starting right now.
2026 The Year Production Code Got Merged
This is where we begin, because this is where the work got hard. Real organizations, real users, real bugs, reviewed by maintainers who reject most outside contributions. Everything below runs from newest to oldest, and every repo with ten or fewer merges gets its complete list.
Kiro, Nine Merges In Forty Eight Hours, August 24 To 25
Kiro is AWS's agentic IDE, and KiroCrew is its crew orchestration layer. On August 24 and 25, nine of my fixes merged back to back:
| Pull Request | Title | Merged On |
|---|---|---|
| #5359 | Route org wide calls by the channel's home workspace | 2026-08-25 |
| #5613 | Read agent specs through the hardened reader for model resolution | 2026-08-25 |
| #5630 | Pin UTF-8 on the last text mode subprocess calls | 2026-08-25 |
| #5665 | Release browser and server when a capture fails | 2026-08-25 |
| #5688 | Remove the inline spec a rejected start leaves behind | 2026-08-25 |
| #5695 | Type check mutation identifiers before validation | 2026-08-25 |
| #5335 | Run the Code Review Sage suite on Windows too | 2026-08-24 |
| #5384 | Reopening a file no longer discards unsaved edits | 2026-08-24 |
| #5351 | Let a provisioned crew take the stock port | 2026-08-24 |
Look at the spread: a port allocation race, user data loss on reopen, MCP protocol validation, resource leaks, encoding pinning, Slack workspace routing. Nine unrelated production wounds in one product, found and closed inside two days. That is the old volume habit finally pointed at hard targets.
Genspark GenOffice, Five Merges In Two Days, August 24 To 25
| Pull Request | Title | Merged On |
|---|---|---|
| #133 | Keep filter hidden rows out of full sheet find results | 2026-08-25 |
| #140 | Row batch over cap sidecar reads so streaming survives big viewports | 2026-08-25 |
| #141 | Sweep generated page temp files with a TTL at startup | 2026-08-25 |
| #132 | Cross highlight the active cell's row and column | 2026-08-24 |
| #131 | Extend Ctrl+F beyond the loaded window on streamed workbooks | 2026-08-24 |
GenOffice is an open source office suite with streamed workbooks and a Rust sidecar, which makes find, filtering, and viewport rendering genuinely difficult problems. Five merges here in two days, each reviewed by the maintainer team, is my current personal record for accepted throughput on a hard codebase.
OpenClaw, Six Merges Including My Favorite Fix Of The Year, May To August
OpenClaw is a massive open source agent framework, and its codebase moves fast enough that stale branches die within days. Six of my pull requests survived review there:
| Pull Request | Title | Merged On |
|---|---|---|
| #128066 | Retain provider returned streaming model as responseModel | 2026-08-25 |
| #102951 | Fix fetchWithTimeout ignoring caller provided AbortSignal | 2026-07-10 |
| #90365 | Replace broad win32 skip with dynamic symlink capability check | 2026-07-07 |
| #90223 | Make qqbot symlinked media helper test robust on Windows | 2026-06-23 |
| #90275 | Make install safe path symlink tests work on Windows | 2026-06-16 |
| #85032 | Show empty state notice in config wizard | 2026-05-23 |
PR #102951 is the one I point to when people ask what kind of engineer I am. The timeout utility accepted a caller's AbortSignal and then silently ignored it, meaning cancellation requests vanished into the void. Subtle, async, easy to miss, painful in production. Found it, fixed it, got it merged on July 10.
And #128066, merged just two days ago as I write this, keeps streaming responses honest about which model actually produced them.
OpenMetadata, July
| Pull Request | Title | Merged On |
|---|---|---|
| #27266 | Fix Snowflake duplicate constraint name collisions, fixes #26199 | 2026-07-27 |
| #27256 | Fix BigQuery string bindings on uniqueCount CTE for binary columns, fixes #26200 | 2026-07-23 |
OpenMetadata is the industry standard metadata platform, Java connectors, enterprise users, heavyweight review process. Both of my merges close long standing tracked issues in their database connectors: BigQuery choking on binary columns inside aggregate queries, and Snowflake colliding constraint names across different tables. Debugging connector SQL against two different database engines in one month taught me more about SQL dialects than any course.
Topoteretes Cognee, Three Merges In One Day, June 20
Cognee is a memory engine for AI agents, and on June 20 they merged three of my fixes simultaneously:
| Pull Request | Title | Merged On |
|---|---|---|
| #3123 | Prefix Windows paths automatically to fix OS Error 3, closes #2941 | 2026-06-20 |
| #3114 | Resolve dataset context before initializing graph engine | 2026-06-20 |
| #3115 | Restrict global settings and disable public registration | 2026-06-20 |
A security tightening, an initialization order bug, and a Windows long path failure that closed their issue #2941. Three different subsystems, one afternoon.
HSF, May 14
| Pull Request | Title | Merged On |
|---|---|---|
| #1908 | Consolidated GSoC 2026 website cleanups | 2026-05-14 |
The High Energy Physics Software Foundation runs the ecosystem around CERN analysis tooling. Their site, their GSoC project listings, my formatting fixes, their merge button.
Tracer Cloud OpenSRE, Six Merges In Nine Days, April
OpenSRE is an AI incident investigation tool, and my fixes went into the logic that decides whether an alert is actually healthy. All six, complete:
| Pull Request | Title | Merged On |
|---|---|---|
| #924 | Standardize package manager, deduplicate assets, sync README | 2026-04-25 |
| #626 | Database logic expansion for QA edge cases, batch 2 | 2026-04-25 |
| #627 | Database logic expansion for QA edge cases, batch 3 | 2026-04-19 |
| #625 | Database directives for RDS QA testing | 2026-04-18 |
| #617 | Include eks keys in investigated evidence for health checks, fixes #582 | 2026-04-17 |
| #618 | Identify healthy alerts correctly, fixes #596 | 2026-04-17 |
Two closed issues referenced by number, three batches of edge case hardening, one cleanup pass. This is what a sustained contribution looks like compared to a one shot drive-by.
Nous Research Hermes Agent, April 21
| Pull Request | Title | Merged On |
|---|---|---|
| #13457 | Handle None response from ACP request_permission | 2026-04-21 |
A genuine crash fix. When an agent asks a human for permission and the response comes back None instead of a decision, the agent falls over. I handled the empty case. Nous Research merged it. Agent safety starts with boring null checks like this one.
VGVassilev Clad, March 26
| Pull Request | Title | Merged On |
|---|---|---|
| #1773 | Document the non_differentiable attribute | 2026-03-26 |
Clad is automatic differentiation for C++, a research grade plugin born from the CERN ROOT ecosystem. Writing docs for autodiff internals means learning autodiff internals. I consider this merge my entry ticket to scientific computing communities.
Accomplish AI Coworker, March 24
| Pull Request | Title | Merged On |
|---|---|---|
| #575 | Add testing instructions to CONTRIBUTING.md | 2026-03-24 |
Google Gemini CLI, March 19
| Pull Request | Title | Merged On |
|---|---|---|
| #22281 | Remove write todo list tool from UI tips | 2026-03-19 |
Google's terminal AI agent. I have submitted more than forty pull requests to gemini-cli and exactly one has been merged so far, this one. I keep both numbers because together they tell the truth: the door is open, the bar is high, and persistence plus precision is the only combination that walks through it.
Stream Vision Agents, March 3
| Pull Request | Title | Merged On |
|---|---|---|
| #366 | Clarify Cartesia role in README, fixes #268 | 2026-03-03 |
Stream's agents SDK, merged against their tracked issue #268. Closing a numbered issue matters because it proves the contribution answered a real request, not an invented one.
Rocket.Chat, February 25
| Pull Request | Title | Merged On |
|---|---|---|
| #38871 | Fix YouTube capitalization in README | 2026-02-25 |
Rocket.Chat is one of the largest open source chat platforms on earth, tens of thousands of stars, a monorepo with brutal CI. Of my submissions there, this is the one that landed first. Small diff, famous codebase, permanent record. It was also the moment I knew 2026 would be different from everything before it.
2025 Fewer Pull Requests Higher Quality
Step back one year from the Gemini CLI merge and the numbers shrink on purpose. Only 25 external merges happened in all of 2025, and I regret none of the slowdown.
The one I care about most:
| Repository | Pull Request | Title | Merged On |
|---|---|---|---|
| TheAlgorithms/Python | #12345 | Update README.md | 2025-08-30 |
That repository is one of the most starred Python codebases on GitHub, with review standards far stricter than any event repository. Getting anything merged there requires passing automated checks and human review from maintainers who reject most outside drive-by edits. A README fix sounds small, but the review bar was not.
The remaining 2025 merges were tails of the relationships built during the volume year you will meet in the next section: the last helloWorld languages in January, a final chess infra PR in April, and one more batch of 100 Lines programs in October, including that AI dungeon master you saw above. Then I stopped chasing event repositories altogether.
The lesson 2025 burned into me: ten merges into serious repositories beat two hundred merges into event repositories, every single time you put them side by side in an interview.
2024 The Year Of Volume
Rewind once more and you arrive at the factory floor. Between October 22 and November 21, during Hacktoberfest, I treated contributing like a job. Small utilities, games, docs fixes, and CI configs went into dozens of community repositories, day after day, until merging felt routine instead of terrifying.
sumanth-0/100LinesOfPythonCode, 234 Merged Pull Requests
This one repository holds almost two thirds of my entire 2024 output. Two hundred thirty four of my pull requests were merged here: tiny Python programs, one file each, under a hundred lines. Password checkers, maze solvers, stock trackers, a pose estimator, even a text based AI dungeon master in late 2025.
Listing all 234 would melt the page, so here are ten that span the journey, newest first, and you can view all 234 with links on GitHub directly.
| Pull Request | Title | Merged On |
|---|---|---|
| #710 | Add AI Dungeon Master, Text Based RPG | 2025-10-12 |
| #421 | Create body_pose_estimator.py | 2024-10-29 |
| #339 | Create recommendation_engine.py | 2024-10-28 |
| #245 | Create binary_clock.py | 2024-10-27 |
| #173 | Create handwritten-digit-recognizer.py | 2024-10-25 |
| #96 | Create maze_solver_visualization.py | 2024-10-24 |
| #72 | Create virtual_pet_game.py | 2024-10-23 |
| #49 | Create type_speed.py | 2024-10-23 |
| #38 | Create pass_check.py | 2024-10-23 |
| #22 | Update expense_tracker.py | 2024-10-22 |
Was this deep engineering? No, and I will not pretend otherwise. It was repetition, and repetition did something valuable: it removed my fear of the fork, branch, commit, push, review cycle until submitting to strangers became boring.
agnilondapakou/helloWorld, 26 Merged Pull Requests
The concept is beautiful and silly: say hello to the world in as many programming languages as exist. I got 26 merges here, including languages most people have never seen. Top ten below, newest first, all 26 viewable here.
| Pull Request | Title | Merged On |
|---|---|---|
| #447 | Update script.js and README for Transact SQL | 2025-01-19 |
| #425 | Create HelloWorld.xojo_project | 2025-01-19 |
| #284 | Create HelloWorld.bcpl | 2024-12-25 |
| #268 | Create HelloWorld.thue, esoteric language | 2024-12-25 |
| #282 | Create HelloWorld.sb3, Scratch | 2024-10-30 |
| #280 | Create HelloWorld.rexx | 2024-10-30 |
| #278 | Create HelloWorld.raku | 2024-10-30 |
| #273 | Create HelloWorld.coffee, CoffeeScript | 2024-10-30 |
| #270 | Create HelloWorld.v, Verilog | 2024-10-30 |
| #219 | Create Hello World in Pug | 2024-10-24 |
Writing hello world in Verilog and BCPL teaches you more about how languages think than any tutorial list ever will.
Brisbane Social Chess, 33 Merged Across Three Repositories
This community let me build something bigger than single files: their entire repository infrastructure. Linters, pre commit hooks, Dependabot, PR labeler workflows, first interaction greetings. Nineteen merges went into their .github repo, fourteen into awesome-social-chess, one into welcome. Here are the top ten from .github, newest first, full list here:
| Pull Request | Title | Merged On |
|---|---|---|
| #63 | Create proselint.yml | 2024-10-31 |
| #78 | Add pre-commit to GitHub Actions | 2024-10-29 |
| #76 | Create first-interaction.yml | 2024-10-29 |
| #71 | Create .pre-commit-config.yaml | 2024-10-29 |
| #65 | Create labeler.yml and labeler workflow | 2024-10-29 |
| #61 | Create dependabot.yml | 2024-10-29 |
| #41 | Create .yamllint.yml | 2024-10-29 |
| #40 | Create linter.yml workflow | 2024-10-28 |
| #34 | Create .editorconfig | 2024-10-28 |
| #35 | Create CODEOWNERS | 2024-10-28 |
And the top ten for awesome-social-chess, newest first, full list here:
| Pull Request | Title | Merged On |
|---|---|---|
| #90 | Create welcome.yml | 2025-04-12 |
| #84 | Create dependabot.yml | 2024-10-29 |
| #57 | Update .pre-commit-config.yaml | 2024-10-29 |
| #43 | Update .pre-commit-config.yaml | 2024-10-27 |
| #39 | Create .gitattributes | 2024-10-27 |
| #37 | Create .editorconfig | 2024-10-27 |
| #29 | Create .codespellrc | 2024-10-27 |
| #24 | Create labeler.yml and workflow | 2024-10-27 |
| #21 | Add yamllint to pre-commit config | 2024-10-27 |
| #20 | Update README.md | 2024-10-27 |
Plus one more in their welcome repo:
| Pull Request | Title | Merged On |
|---|---|---|
| #3 | Update README.md | 2024-10-29 |
These merges are why I stopped being afraid of YAML. Nobody fears CI config after wiring up a stranger's whole automation stack and having it accepted.
rcallaby/Learn-Git, 12 Merged Pull Requests
An educational Git repository that needed guides in more languages. I wrote Codespaces guides and documentation in Urdu and Malayalam. Top ten below, newest first, all 12 here.
| Pull Request | Title | Merged On |
|---|---|---|
| #759 | Create basic navigation guide in Urdu | 2024-10-27 |
| #757 | Create Rails Codespace guide in Malayalam | 2024-10-26 |
| #756 | Create Django Codespace guide in Malayalam | 2024-10-26 |
| #755 | Create express Codespace guide in Malayalam | 2024-10-26 |
| #754 | Create project management docs in Malayalam, two files | 2024-10-25 |
| #751 | Create github-django-codespace guide | 2024-10-25 |
| #750 | Create Git Rails Codespaces guide in Urdu | 2024-10-25 |
| #749 | Create express codespaces guide | 2024-10-25 |
| #682 | Create CONTRIBUTING guide in Urdu | 2024-10-23 |
| #683 | Create README in Urdu | 2024-10-23 |
Translating technical docs forces you to actually understand them. You cannot translate what you do not comprehend.
Every Smaller 2024 Repository, Full Lists
These repos had nine or fewer merges each, so per the promise I made above, nothing gets trimmed here.
Badger0909/Hacktoberfest-2024, 6 merges:
| Pull Request | Title | Merged On |
|---|---|---|
| #28 | Create ToDoList.java | 2024-10-25 |
| #23 | Update RPS.java | 2024-10-24 |
| #17 | Create task_manager.py | 2024-10-23 |
| #13 | Create simplecalc.py | 2024-10-23 |
| #12 | Create encode_decode.py | 2024-10-23 |
| #9 | Create stopwatch.py | 2024-10-23 |
Anu27n/layout, 4 merges:
| Pull Request | Title | Merged On |
|---|---|---|
| #11 | Update Radio.js | 2024-10-25 |
| #10 | Update AreaInput.js | 2024-10-25 |
| #9 | Update Treemap.js | 2024-10-25 |
| #8 | Update Card.js | 2024-10-25 |
iamsamhhh/TravelPlanningApp, 3 merges:
| Pull Request | Title | Merged On |
|---|---|---|
| #11 | Create CreateTravelPlan.py | 2024-10-23 |
| #10 | Create AddEvent.py | 2024-10-23 |
| #9 | Create userinput.py | 2024-10-23 |
dwip708/EcoFusion, 2 merges:
Mugunth-dev/Hacktoberfest2024, 2 merges:
| Pull Request | Title | Merged On |
|---|---|---|
| #11 | Create palindrome-checker.py | 2024-10-23 |
| #9 | Update LongSubString.py | 2024-10-22 |
One merge each, six repositories, newest first:
| Repository | Pull Request | Title | Merged On |
|---|---|---|---|
| bratergit/lastChanceHackertoberfest | #22 | Create automated-tests.yml | 2024-10-30 |
| Abinash6000/Affirmations-App-Jetpack-Compose | #33 | Update README.md | 2024-10-29 |
| dipandhali2021/CineMagic | #17 | Update README.md | 2024-10-29 |
| suryanshsk/Python-Voice-Assistant-Suryanshsk | #439 | 10 simple python algorithms solutions | 2024-10-24 |
| ianshulx/React-projects-for-beginners | #119 | Update index.html | 2024-10-23 |
| mohamedammar27/Hacktoberfest-2k24 | #6 | Create binary_search.cpp | 2024-10-23 |
Where It All Started, January 2024
Keep rewinding past the Hacktoberfest storm and you hit bedrock. My first ever pull request went out on New Year's Day, 2024, into the most beginner friendly repositories on the platform, because that is where everyone should start.
| Repository | Pull Request | Title | Merged On |
|---|---|---|---|
| Syknapse/Contribute-To-This-Project | #3476 | Aniruddha Adak's Card | 2024-01-04 |
| firstcontributions/first-contributions | #79121 | Update Contributors.md | 2024-01-01 |
Two strangers merged my terrified first commits within days, and the loop that eventually reached Google, AWS, and Rocket.Chat started turning right there.
What 369 Merges Taught Me
Volume is a teacher, not a destination. The 2024 grind looked like vanity metrics from the outside, and partly it was. But it also drilled the mechanical loop of open source so deeply that by this week I could ship nine accepted fixes to AWS's IDE in two days without breaking stride.
Small diffs get merged, clear diffs get remembered. My highest impact merges, the AbortSignal fix, the None permission crash, the Snowflake collision, were each only a few lines. What made them valuable was the finding, not the typing.
Closed issues are the best evidence. Anyone can claim contributions. Pull requests that reference a maintainer filed issue number, like cognee #3123 closing #2941, prove your work answered demand that already existed.
Rejection data beats success theater. 918 submitted, 398 merged. At Google's gemini-cli alone I am somewhere north of forty attempts for one landing. Those numbers are not embarrassing, they are the actual shape of contributing to serious software.
Windows bugs are an underserved niche. Symlink tests, long paths, UTF-8 subprocess calls, four separate merges in 2026 exist because most contributors develop on Mac and Linux, and somebody has to catch what breaks elsewhere.
Frequently Asked Questions
How many merged pull requests does aniruddhaadak80 have?
As of August 26, 2026: 398 total merged pull requests, of which 369 were merged into repositories owned by other people or organizations. Run the search query near the top of this post to see the live number.
Do pull requests to your own repositories count?
Mine do not appear in this post. I excluded 29 merges inside my own account because merging your own code into your own repo proves very little. Every PR listed here required an external maintainer's approval.
What kind of contributions got merged fastest?
Documentation fixes and test improvements usually merge within hours. Logic fixes in active projects take days to weeks depending on maintainer bandwidth. Security related changes, like disabling public registration in cognee, tend to get fast attention because maintainers prioritize them.
How do I start contributing to open source?
Start exactly where I started on January 1, 2024: firstcontributions and Contribute-To-This-Project. Then pick one real tool you use daily, read its good first issues, and fix one thing with a closed issue attached to your PR.
Where To Find Me
I write about AI agents and open source constantly. You can find me on GitHub, right here on DEV, on X, and on LinkedIn. My portfolio lives at aniruddha-adak.vercel.app.
The next milestone is 400 external merges, and based on the pace of the last two weeks, that happens before the year ends. When it does, the follow up post will already be half written.
Top comments (0)