The First Merge
How a repo let the internet decide what gets shipped—and what happened next.
January 5, 2026, 23:12 UTC. I pushed a commit. A simple Next.js app with a countdown timer and a list of pull requests.
The rules were simple:
- Anyone submits a PR
- Community votes with thumbs-up reactions
- Most-voted PR gets merged every Sunday
- Everything can be changed—including the rules
I called it OpenChaos.
Six days later, it hit #1 on Hacker News.
This is the story of Week 1.
The Numbers
| Metric | Value |
|---|---|
| Stars | 400+ |
| Forks | 35+ |
| Pull Requests | 70+ |
| Closed as spam | 29 |
| Open and competing | 30+ |
| Hours on HN front page | 17+ |
Day 1: Bootstrap
The MVP took one night. A countdown timer. A list of open PRs. Vote counts pulled from GitHub's reaction API.
I submitted the first PR myself: dark mode toggle. Because every project needs a dark mode debate.
Within hours, I wasn't alone.
Day 2: The Nihilist Arrives
@Salman-Sali submitted a PR that would delete everything. 7,108 lines removed. The description was empty.
Someone commented:
"the people who upvote this are probably trump supporters"
Salman-Sali replied:
"hey mister, its not me who chose chaos"
The PR failed CI. Democracy had guardrails.
But the story wasn't over.
Day 3: The Frontrunner Emerges
PR #6: "Calculate +1 and -1 reactions"
@yokeTH submitted a feature that would change everything: count downvotes, not just upvotes. Net score determines the winner.
It was a genuine improvement. It was also a weapon.
Because once downvotes counted, the "Vote to shut it down" PR started losing.
Day 4: I Broke My Own Rules
Here's where I have to be honest.
The site was showing wrong vote counts. PR #1 had 147 votes but displayed 30. GitHub's API paginates reactions, and I hadn't accounted for it.
I faced a choice:
- Wait for someone to submit a fix and let the community vote on it
- Push the fix directly so voting could work correctly
I pushed the fix.
Then I hit rate limiting (60 requests/hour without auth). Pushed another fix.
You can't vote on whether to count votes correctly. That's circular.
The voting system has to work before democracy can function. But every intervention is a small betrayal of the premise.
Day 4, Part 2: The Callout
User @Kl0ven noticed. And they weren't happy.
They opened 30 identical PRs. All titled "should have use proper pagination :("
It wasn't a bug. It was a protest.
The message was clear: You bypassed the democratic process to fix your pagination. Here's 30 PRs to remind you.
I closed them all.
@Kl0ven got one through: PR #45 "F, At least I tried"
Current votes: -4
They had a point. I'm still not sure I was right. But I made a call.
Day 5: The Dramatic Withdrawal
With downvotes now counting against him, @Salman-Sali made his move.
He closed his own PR. And left this message:
Thank you for all those who have supported me.
It is with great regret that I have to say that I am dropping out of this race.
The big money funded PRs have plotted against me. They want to calculate the negative votes too. The big money has influenced this election. I will not stand for this injustice.
Therefore I am dropping out of this race.
Someone replied:
"STOP THE COUNT!"
A GitHub PR had become political satire.
Day 5, Part 2: The Creator's Sacrifice
My dark mode PR was winning. 228 upvotes. It would be the first merge.
But something felt wrong.
I withdrew it.
"Withdrawing to keep the first merge purely community-driven. Let the chaos decide."
When someone asked why:
"Didn't feel right winning my own game."
The first merge had to belong to the community.
Day 6: The Meme Becomes Real
Every project eventually gets this comment. @wvanlit decided to actually do it.
A full Rust rewrite, compiled to WASM, ready to ship.
There was just one problem: the Vercel build kept failing.
Module not found: Can't resolve '@/wasm/pkg/openchaos_wasm'
The meme was real. But it couldn't compile.
Community reaction:
"once this gets done, we can put this in the linux kernel"
Day 6: Hacker News
350+ points. 70+ comments. #1 on the front page.
The comments were beautiful:
- "Twitch plays GitHub"
- "Like Reddit but Nomic"
- "Codified Dadaismus"
- "It's an absurdist art software project, devoid of any consistent intent or purpose beyond the operating principles."
Someone asked what the point was.
The best reply:
"I don't think there's a point. You can always submit a point, if it gets voted you will have your point."

The First Merge
Sunday, January 12, 2026. 09:00:37 UTC.
I merged PR #6: "Calculate +1 and -1 reactions" by @yokeTH.
Final score: 903 upvotes
The first community-driven change to OpenChaos makes downvotes count.
The project that started with pure upvote democracy now has its first check on power.
The irony isn't lost on me.
Week 2 Begins
The leaderboard reset. New contenders emerged:
| Rank | PR | What it does | Net |
|---|---|---|---|
| 1 | #13 | Rewrite in Rust | +409 |
| 2 | #51 | Chaos each day (daily merges) | +365 |
| 3 | #47 | IE6 mode with Comic Sans | +179 |
| 4 | #8 | Show PR health indicators | +122 |
| 5 | #11 | Invert dark/light mode | +57 |
The Rust rewrite is leading Week 2. If someone fixes the build, the meme becomes reality.
And in the negatives:
| PR | Title | Net |
|---|---|---|
| #53 | Vote progress bars | -4 |
| #45 | F, At least I tried | -5 |
| #15 | Visibility boost for repeat contributors | -20 |
The downvote feature is already being used.
The Best PRs Nobody Voted For
#68: "Implement asteroids on the homepage"
Classic arcade chaos.
#67: "Replace 10% of PR links with Rickrolls"
"The youth don't know about Rickrolling. We must educate them."
Just... cat.
What I Learned
1. People want to add structure to chaos.
The winning PR adds downvote counting. The third-place PR changes merge frequency. The community's first instinct is governance.
2. Memes become real.
"Rewrite it in Rust" is leading Week 2. It might actually happen.
3. Every system gets gamed.
Within 48 hours, people were discussing vote manipulation, last-minute bait-and-switch commits, and bot attacks. The security conversation started before the first merge.
4. Drama writes itself.
I didn't plan the political satire. I didn't script the dramatic withdrawal. The chaos created its own narrative.
5. Maintainers can't be neutral.
I tried to be hands-off. I ended up pushing infrastructure fixes and closing spam. @Kl0ven called me out. They weren't wrong.
What's Next
- PR #13 could give us a Rust rewrite (if someone fixes the build)
- PR #51 could change merges to daily
- PR #47 could send us back to 1999
- PR #68 could add asteroids to the homepage
- Something new could appear and change everything
That's the point.
The rules can change the rules. The chaos is the feature.
One More Thing
400+ stars, a Hacker News front page, and the best GitHub drama I've ever seen.
I'll take it.
January 11, 2026
Week 1 of ∞. See you Sunday.
Follow the chaos
Weekly stories from a repo where the internet decides what ships. No spam, just drama.