Skip to content
Back to Blog
Retrospective 8 min read

Community, Open Source, and npmx

npmx is a fast-moving open source train that welcomes you aboard the moment you show up.

Community, Open Source, and npmx

What is npmx ? npmx is a fast and modern browser for the npm registry. But it's a lot more than that.

This post isn’t really about what npmx does. npmx itself and other write-ups around it can do that better than I can.

What I want to share is the other side of it, the part that spoke most to me, and honestly, the part that’s made me double down. Especially, how projects like this can accelerate your life in ways you don’t really see coming, as long as you take a small leap and actually run with it.

And for me, it started with Daniel Roe , and later it got even more fuel from Patak . I’ll get into that.

Open source can feel like a high-speed train

What’s both beautiful and slightly frightening about open source is that anyone can jump in.

But at times it really does feel like a high-speed train. Either you jump on at the right time and you keep up with the pace, or you step off for a moment and you miss things entirely. That can be the feeling.

I’ve had days where I’m scanning issues in a repo, I see a couple good ones, maybe even “good first issue”, and I’m thinking, ok, let me sleep on it, let me come back tomorrow and do it properly.

Then you come back the next day and half of them already have someone working on them.

Which is incredible. It’s also kind of daunting.

Because it messes with your head in a very specific way. You start thinking:

  • If I had just acted right then and there.
  • If I had just a bit more time.
  • If I didn’t overthink it.

And then you get stuck in this analysis paralysis loop, plus a bit of self-doubt, maybe even imposter syndrome if we’re being honest. You don’t want to commit because you’re not sure you can deliver, but you also don’t want to jump in blindly. So you do the safest thing, which is… nothing. Close the tab. Come back later. Repeat.

And that’s why the community around the project means so much more than people may think, it completely changes the experience for everyone involved.

How I ended up in npmx

I’m a React and Next.js developer. I’m not a Vue and Nuxt developer, though Daniel has been on my case to switch since we met last year 😉.

I’ve wanted to explore more of the Nuxt world for a while though. Especially the Nuxt modules ecosystem and just the general developer experience, there’s a lot there that’s hard not to respect from the outside.

Nadja on the ZurichJS team told me about npmx and I thought it’s worth taking a look. So I joined the Discord.

And the growth was… ridiculous.

Day one, it felt like sub-100 people.

Next day it’s already plus 100.

Within a week, I think it was 500+.

That pace immediately brings back all the “high-speed train” feelings. You join and you can tell this is one of those moments where something is catching fire, and it’s exciting, but it also makes you wonder if you’ll be able to keep up, or if you’ll just end up lurking and watching it fly past.

What the early team got right

The thing that stood out to me was the tone the project set early, by the maintainers and the first wave of regulars.

Notably, Alex , Anna | DevMiner , James , Orta , Philippe , Salma , shuuji3 , tierney , zeu , patak , and Daniel

They made it feel like everyone is individually welcomed. Not in a generic “welcome!!” way, but in a very practical, human way, like: tell us who you are, what you’re into, what you’re trying to do, and we’ll help you find your way into the project.

When a community grows at a pace like this, it's commendable. Even doing that for 10-20 people a day is quite something.

Because it takes away the fear that you’re wasting people’s time, or that you’re not “qualified enough” to be there.

The idea I threw in, and how fast it caught

I had this idea, and it’s actually up as an issue right now and still in discussion. I’m taking my sweet time with it, because again, I’m not a Vue dev at core and I’m learning as I go, and I’m also organising ZurichJS Conf so my brain is constantly split across ten things.

But the idea itself came pretty naturally.

Why do people go to conferences?

A huge reason is to meet the people building and maintaining the packages they use.

I’m lucky, I can open most package.json files, and I know the maintainers. Some of them are friends. Some of them I’ve met through the ecosystem, through events, through just being around long enough.

But lots of people don’t have that. And they deserve those opportunities too, that ability to connect, learn, grow, and just feel closer to the community behind the tools.

So I thought, what if we could connect the dots between:

events, conferences, maintainers, and packages

What if based on the packages you use (or even what you’re installing, maybe via your package.json), you could see what conferences might be relevant, or which maintainers might be around, or what events are “representing” the set of packages you care about.

Or the other way around: you’re looking at a conference, and you can see which packages and maintainers are represented there.

This feels like such a simple idea when you say it out loud, but it would genuinely change how people discover events, and how they connect with the ecosystem. At least the way i've experienced it. It makes conferences less about “go watch talks” and more about “go meet your internet colleagues in real life”.

So I wrote up a tiny proposal in Discord.

And it caught a little bit of spark.

I was honestly overwhelmed by how positive the response was.

Five minutes later, I felt like I was part of it

Within five minutes they slapped a contributor tag onto my Discord profile. That tiny thing did way more than it should have.

I suddenly felt like, ok, I’m not just visiting. I’m in the room.

I got added to multiple channels. People offered help. People started building on the idea. People asked good questions. Nobody was weird about me not being a Vue person.

And I was very clear about it, I literally said: I’m not a Vue dev at core, I’m learning, I’ll take my time.

The response was basically: take your time. We’re in this together. How can we onboard you? How can we help?

That’s the difference between an open source repo that moves fast and an open source community that brings people along while it moves fast.

The week they paused everything

There was another part I really respected: they took a one-week holiday.

They closed down the Discord. They paused the noise. They shut things down.

And that gave everyone space to breathe, resetting the pace to make this a sustainable community.

It was great because it let me think, read, catch up, without feeling like I’m falling behind every hour. It also just signalled something important: this isn’t “ship at all costs”. People are allowed to rest. The pace is meant to be sustainable.

And it’s the kind of decision that makes a project healthier long term, because it keeps contributors around. It lowers the barrier for newcomers. It stops the whole thing from turning into a treadmill.

Why I’m writing this at all

Because this is what open source can be, at its best.

It’s community. It’s people taking a chance on each other. It’s a space where you can show up with an idea, be a bit unsure, maybe even a bit slow, and still feel like you belong. And then you build things together, and over time you make friends, and then you meet those friends at events, and then you end up with opportunities you couldn’t have planned if you tried.

The thing that makes me love NPMX is not only that it’s moving fast, but also that it’s bringing people along as it moves.

So yeah, if any of this resonates, go check out https://npmx.dev . It’s still early, it’s still forming, and that’s kind of the point.

And if you’ve been lurking in open source and waiting for the perfect moment to contribute, I’ll just say it plainly: the moment doesn’t arrive. You kind of create it by showing up, saying something, and letting the community meet you halfway.

Share this post

More articles