Building Open Source as an Introvert, by an Introvert
Alright, Iām just going to say it. I donāt do networking. Like, at all. No conferences, no meetups, no āletās grab coffeeā with random people, no cold emails. I know these things work for some people, but the idea of walking into a room full of strangers and making small talk for hours? Iād honestly rather stare at a wall. And somehow Iāve managed to build open-source projects that people actually use and even contribute to.
This isnāt some advice or whatever. Itās just me sharing how I do things because I spent way too much time thinking I was doing it wrong since everyone else seems to be at conferences and building their āpersonal brandā on LinkedIn.
Stuff I donāt do
Conferences. I know people swear by them and tell me Iām missing out. But the thought of traveling somewhere, staying in a hotel, being socially āonā for days, itās exhausting just to think about. Iāve never been to one. I probably never will.
Meetups are the same. After work I just want to go home, recharge, maybe watch some anime or mess with my Arch setup. Not spend two more hours in a room talking to people.
LinkedIn networking. I have a profile because you kind of have to, but I donāt DM people, I donāt comment on posts trying to get noticed, I donāt post hot takes about frameworks. If I post anything itās usually just sharing a project I built.
Coffee chats as a āstrategy.ā If I reach out to someone itās because I actually have something to say or ask. Not because I read an article about how you should have coffee with 50 people a month.
Look, Iām not saying any of this is bad. If it works for you, cool. I just spent a long time feeling like I was failing because I wasnāt doing what everyone else was. Eventually I realized maybe Iām just playing a different game.
What I actually do
So if Iām not doing all that, what do I do? Mostly just build things and try to make them not suck to use.
Documentation
This is probably the biggest thing. If someone finds my project and the README doesnāt make sense in the first minute, theyāre probably leaving. Iāve been on that side too many times, finding a cool project but having no idea how to run it. So I write the docs I wish existed.
Not just installation. Examples. Screenshots. Common issues and how to fix them. Sometimes I overdo it. Iāll write a whole tutorial when three sentences would have worked. Whatever, Iād rather over-explain than leave people confused.
Issues arenāt tickets
When someone opens an issue, I donāt think of it as a support ticket to close. Itās a conversation.
There was this time. I remember it clearly. A guy named hectormiguel1 opened an issue on 0ptiscaler4linux. Now, 0ptiscaler4linux is this little tool I built to handle display scaling on Linux because the built-in stuff has always annoyed me. His issue wasnāt āit doesnāt work.ā It was a really thoughtful message about the architecture and some ideas he had.
I sat there staring at it. Usually issues are just bug reports. This guy actually thought about the code. So I wrote back. Properly. Explained why I did things that way, asked what he thought about X, admitted Y was kind of a hack and I wanted to fix it.
He replied. We went back and forth a few times. Eventually he sent a pull request. First external contributor to that project.
I didnāt do anything special. No LinkedIn message, no coffee chat. Just treated his issue like it mattered, because it did. The project has 24 stars now, and he was the start of that.
Code I wonāt hate later
I write code assuming someone else will read it, because they probably will. Variable names that make sense. Functions that do one thing. Comments when something isnāt obvious. Consistent style.
It takes longer but itās worth it. When someone forks and sends a PR, you donāt want to spend an hour trying to understand changes because your codebase is a mess. And when you come back to your own code six months later, you donāt want to be like āwhat was past-me thinking.ā
Commits that make sense
I try to write commit messages that are actually useful. Not āupdateā or āfix stuff.ā But āfix handle case where scaling resets after suspend fixes #47ā or āfeat add support for different Wayland compositors.ā
This isnāt me being pedantic. Itās that when Iām looking at git history three months from now trying to remember when something broke, I donāt want to be guessing.
The projects speak for themselves
TerminalCoin. CLI for crypto with news and social integrations. Built it because I wanted something specific and nothing like it existed. People found it. Some starred it. A few opened issues. One person sent a PR.
Int3rceptor. HTTP/HTTPS proxy interceptor in Rust. Niche, but if you need it, it just works.
These arenāt massive projects. 0ptiscaler4linux has 24 stars. TerminalCoin has 18. Int3rceptor has 32. But every single one is real. Someone found the project organically and decided it was useful enough to star.
No marketing. No āhey everyone check this outā on Reddit or Hacker News. No Twitter threads about my journey. Just putting work out there and letting people find it if itās useful.
This is slow. You donāt get viral growth this way. But Iām okay with that.
GitHub as networking, sort of
I do build relationships, just not in person. Through issues and pull requests.
Someone opens a PR. I look at their changes, ask questions, maybe suggest a different approach. We go back and forth. Eventually it gets merged. That person is now part of the projectās history. Never met them. Donāt know what they look like, what they do, where they live. But we worked together.
Sometimes people open issues not to report bugs but to start discussions. āHave you thought about X?ā or āWhy Y over Z?ā These can go on for days. Sometimes they change how I think about the project. Sometimes they donāt.
This is how Iāve met developers from all over. Never been in the same room, but weāve worked together on code. That counts.
What I might be missing
Iām not going to pretend there are no downsides. I probably miss stuff.
I donāt get seen by recruiters who do all their hiring at conferences. I might miss speaking opportunities that come from being visible at events. Could be job offers or collaborations that happen through in-person connections that never reach me because Iām not in those circles.
Sometimes I wonder if my projects would grow faster if I was more āout there.ā Maybe. Maybe not.
But hereās what I get.
I donāt have to perform extroversion. I can just be me. The projects I build and code I write are things I actually care about, not things I think will get me noticed.
I donāt burn out. Iāve been maintaining these projects for a while and Iām not tired of them. The process doesnāt drain me.
The people who find my projects and contribute are there because they want to, not because I sold them on it. Feels more real.
I have time. Time to code, time to learn because Iām deep in PHP/Laravel right now, time to just exist as someone who happens to be vegan, likes anime, plays games, runs Arch Linux, and occasionally spends three days tweaking a window manager setup that probably doesnāt matter but makes me happy.
You donāt have to play the same game
The tech world has this weird obsession with being everything. Great coder AND charismatic speaker AND active on social media AND always networking AND giving talks AND writing blog posts.
Itās a lot. Especially if youāre introverted.
The good thing about open-source is nobody cares about your networking skills if your code solves their problem. They donāt care if youāve never given a talk. They donāt care if you have 50 LinkedIn connections or 5,000.
What they care about is simple. Does it work? Is it documented? Can I use it?
You can build a reputation just by doing good work. Might grow slower than the person at every conference posting daily on LinkedIn. Thatās okay. Growth from people actually using and valuing your work feels good.
Look, if networking and conferences work for you, keep doing them. Iām not trying to talk anyone out of things they enjoy.
But if youāre like me, if the thought of another coffee chat makes you want to hide under your desk, if conference season feels like something to survive, thereās another way.
Write code that solves real problems. Document it properly. Be thoughtful in issues and PRs. Build things you care about.
The rest follows.
This is how I do open-source. Not the right way for everyone. Not sure itās the ārightā way at all. But it works for me, my projects are alive, people use them, and I havenāt burned out. That counts.