Recently, I worked on an open-source contribution where I:
- Fixed a real production issue
- Added unit tests
- Handled edge cases
- Opened a clean, production-safe PR
…and it still got closed.
Not because the code was wrong.
But because product + growth decisions beat engineering.
That’s open source in real companies.
PR for context:
https://github.com/triggerdotdev/trigger.dev/pull/3014
The problem
The issue looked simple:
A user deletes their last organization
…but they still receive marketing emails.
Root cause:
Their contact remains in Loops (the marketing platform).
From an engineering perspective, the solution felt obvious:
If a user has zero organizations → remove them from Loops.
So I implemented exactly that:
- Added
deleteContact()toLoopsClient - Wired it into the org deletion flow
- Guarded it so it only runs when the last org is deleted
- Treated 404 as success (contact already gone)
- Added unit tests
- Covered edge cases
Clean. Deterministic. Production-safe.
The result?
PR closed 😄
Not due to code quality.
The maintainer explained:
Deleting an organization is not the same as deleting a user.
Marketing should be tied to the user, not the organization.
They don’t yet have a full automated account deletion flow.
And then the most startup sentence ever:
We currently do this manually when users contact us.
🙂
What actually happened
I assumed:
System exit → no more emails.
They’re operating on:
Org deleted ≠ user deleted ≠ lead lost.
This wasn’t an engineering disagreement.
It was a product + growth decision.
Classic SaaS.
Important distinction
This wasn’t a bad PR.
This was a:
Product decision override.
The code was fine.
Tests were there.
Edge cases handled.
But the funnel mattered more.
The real win
Even without a merge, I gained:
- Experience navigating a production codebase
- External API integration
- Testable client abstraction
- Edge-case driven design
- Maintainer feedback
- A glimpse into startup product reality
That’s value.
Takeaway
Open source isn’t just about code.
Sometimes you learn:
- How GDPR gets postponed
- How growth beats engineering
- How a “bug” can be intentional behavior
And that’s part of the journey.
TL;DR
I fixed the bug.
The PR was closed.
It was a product call.
Still 100% worth it.
Top comments (0)