Episode 293: Daniel Roe and Matias Capeletto of NPMX

š **Source:** [Episode 293: Daniel Roe and Matias Capeletto of NPMX](https://share.snipd.com/episode/51faa4dd-2077-4cf5-9bf5-c42da45db0e4)
## Highlights
- **How npmx Went From Idea To Hundreds Of Contributors**
- npmx started as a fast community-built browser for the npm registry and exploded with volunteers after a Jan 2026 post.
- Daniel and Matias reached ~1,000 PRs in a week and over 300 contributors from an initial MVP and DMs.
Transcript:
Daniel Roe
NPMX, what is it? Well, good question. And probably we didn't do anyone any favors by naming it NPMX. I've had a lot of questions about that, but it's better than all the alternatives npmx was originally a faster alternative view for npmjs.com and for people who don't know what npmjs.com Is which is probably a quite a lot of people npm is a package registry for probably the main one if you're using javascript or typescript and there are three things that NPM does. It's the registry itself. It's also a CLI tool used for installing packages and interacting with that registry. And it's also a website used to view the registry. And there are alternatives for the package manager. You can have PNPM or Yarn or Bun or Dino also supports the installing and there are more Nub and Obe and plenty more. You can have a different registry. So there's Vault, for example, which just came out. There's JSR. But I felt there was a bit of a gap when it came to websites or browsing the registry, the NPM registry. And in particular, I was, I'm sorry, I maintained Nuxt, which is a framework for building full stack web apps. And one night, very early in the morning, I should say, not quite as early as your 3 a.m. Start today, but I woke up, I think it was four, and I checked my company Slack and I was nerds night into starting to plan how I could make a really fast website for browsing NPM using a new Feature that I was going to release in Nuxt. And so I dived in, posted I think later that day on Blue Sky to find out what people's frustrations were about NPM. And pretty soon, I think I knew this was something that wasn't just a me thing. It was something that a lot of people felt there were frustrations they were experiencing. I had posted again. I messaged Matthias and a few others. And quite without any kind of fanfare, certainly without mentioning it, I think we had something like 70 PRs by the end of the second day. By people who just wanted to.
Richard Littauer
Sorry, that's amazing.
Daniel Roe
When was this? What year was this? This was this year. This was in January. Six months ago. Oh, my God. I didn't post the address or anything. This was just DMs. And I guess people mentioning it to other people. I had an MVP, I guess. But everyone who contributed made it better. And everyone had their own thing that they wanted to make better. And we were sort of mump programming. But I think it was about a week we had 1,000 PRs. But I should say that very early on, I asked Matthias if he'd like to co-lead the project with me. And so we are co-stewards of NPMX. And it's a huge project now in terms of the people who contribute. And that is, I think, what mostly matters when it comes to open source projects. It's the people. And NPMX is so many people. There are so many of us. I think we have a core team of about 10 maintainers, about 20. And in terms of total contributors to NPMX, I think we have well over 200 who have contributed in code. But I think we have more like 600 in our Discord server. How accurate are those numbers, Matthias? ([TimeĀ 0:02:21](https://share.snipd.com/snip/33aafcbd-9d8a-4968-a89c-4efd9c61f8e0))
- **Modern Web Tech Enabled A Better Registry Browser**
- Modern front-end frameworks and services (e.g., Nuxt + Algolia) made a noticeably faster npm browser possible.
- Matias called out features like dark mode, Algolia search, expanded download graphs and package comparisons as community contributions.
Transcript:
Daniel Roe
That Nuxt is obviously the best framework for building for the web. But honestly, you could probably build something fast with any framework. I think the main thing is that npmjs.com was probably nine years ago and hasn't been profoundly updated since then. But there are a lot of new technologies that make the web fast today. And there are a lot of frameworks that are pioneering the front end as like the leading edge of making things fast, including I would like to think next, but also plenty of others too. And I think it would have been possible to write NPMX in another framework as well. We really don't mean to throw shade at npmjs.com. It is a single website that was written nine years ago, which is still serving its purpose. And that is a phenomenal testament to the people who wrote it. But it is dated for that reason. And Microsoft haven't chosen to invest time in it. And that is a decision of management and so on. And it does mean that we have the opportunity to do really cool things from the community and build the NPM registry browser that we all want. Yeah.
Matias Capeletto
I think one of the features that is not that special, but like probably a lot of people were talking about was dark mode because like after nine years, people were like switching from Their IDs to these like white massive blob. And that was like one of the top features. But yeah, like it was fast. Like the index is using Algolia, for example, instead of like the default. And that is already a lot faster how to get the results. And quickly it got so many features, as Daniel was saying, that with community members that are starting to contribute, things like the graphs, for example, of download, that instead Of being like this little thing on the top, you can actually click it and you have like all this expanded, beautiful graph that you can explore and put whatever that you want. ([TimeĀ 0:06:10](https://share.snipd.com/snip/2c2a4b74-8eb1-47e3-a70e-55c58e2c7326))
- **The Weeklong Open Source Vacation**
- At week three the team intentionally paused: closed Discord and froze merges for a week to avoid burnout.
- Matias proposed the vacation and Daniel reluctantly agreed, calling it a flag that defined project culture.
Transcript:
Matias Capeletto
And we decided in week three, when this was going exponential, to actually take a vacation. And we closed Discord, all the channels, even the Welcome channel. The only channel that we left open is our garden channel. That is like this random channel where people can discuss about off topic. That is the only channel that was kept open. We didn't merge PR. We didn't do anything for a week. It coincided with Daniel and me having like a vacation in the mountain too. We went to ski, a snowboard, and it was very good. Like we came back and it was like getting together again and continuing the project. But that week in the middle there was really, really interesting. Like we even removed the link to Discord. And instead of like going to Discord, you were going to a page in the website saying, we are on vacation, came back in a week. That was like, can you do that in open source? Like, can you actually put the whole... Have you heard of anyone doing that before? Like what, what inspired that move? I think it was a little bit random and lack of a flip maybe.
Daniel Roe
I love it. I think it's great. It was Matthias' idea. And I was a bit annoyed, actually, because Matthias and I were both going on holiday. And, you know, one of the things that I love doing on holiday is coding. I really like it. Coding for me is fun. Don't tell anyone, but I would still do this, even if I weren't paid to do it. And I mean, that's how I started, you know, this is fun. And so I do it on holidays and I do it all watching Netflix and it's great. It's amazing. And then Matthias is like, now we're going to have this week where we can't do anything on NPMX. And I was so annoyed. I thought, you're the thief of joy. What are you, Mati? Why? Why are you doing this? But it wasn't for me really like, oh, it cleared the space for me to, you know. It didn't, I guess, unintentionally it did. ([TimeĀ 0:10:01](https://share.snipd.com/snip/5358fccd-2e04-4e1f-912e-016616eccc32))
- **Make Joy Culture Central To Project Health**
- Prioritize people and connection over relentless productivity to sustain long-term contribution.
- Daniel called this a 'joy culture' and said code was a side effect of people having fun together.
Transcript:
Daniel Roe
This is what open source is about. It's a marathon, not a sprint. It's not about the grind culture. It's about the joy culture. And that is, I think, one of the reasons, not because we did the holiday, but the thing behind it. For a while now, companies have been saying to their employees, what matters is how much you produce. Produce more. You've got to use AI because that will help you produce more. How many tokens you max. Yeah. Maybe you don't even need to review each other's PRs. Just have AI review your PRs. That way you can merge faster. You can produce more. And the thing that is missing from all of that is connection with people. So then NPMX comes along and partly unintentionally and partly very intentionally, because Matthias tends to create a warm and welcoming and lovely place where he goes. NPMX was all about the connections and we were chatting and talking about what we would do. And the Discord server was buzzing and everyone had an idea. And then people were saying, hey, welcome. And how did you come and how did you hear? Because the link isn't public yet. And it was all about connection. And so the code was a side effect. ([TimeĀ 0:11:54](https://share.snipd.com/snip/6f8c14c6-7039-4087-b1d2-6035f8898211))
- **Values And Governance Are Core Project Infrastructure**
- Conflicts were expected and handled by establishing governance, a code of conduct, and shared values.
- They emphasize that inclusion isn't 'political' hobby talk but essential to building a healthy, diverse project.
Transcript:
Matias Capeletto
I was going to say that in any time that you do something significant, like that people care a lot about, and in a big group of people, we are talking about 700 people in this discourse, 350 people, like committing stuff and having ideas. And I think it will be weird or that there isn't any kind of conflict, but like what is important is how we approach together and how we can move. And this is why like governance is important. Having a code of conduct is important. There was very little banning needed. And actually we are learning a little bit from other experiences. And before the Alpha Launch, we created another Discord that is working as a lobby. And like it's going to intend it to be like a Discord for users long term that is separate from developers that trying to protect a little bit this developer community. It happened in other places where once you reach a moment where you have maybe a hundred to a thousand time more users than the people developing the project. That is normal. Any kind of like successful library that you will do, like it will have more users. And at one point it was starting to feel like all the public channels are about support, whatever you name them. And like people start to retract to more private spaces and like it really changed it. So there were like, I think that the normal stuff which we are an inclusive community and we have all values, like the community took in their hand, like doing Nuddles, for example, that Is like our version of like the Doodles from Google. So like if you go to MPMX in like certain dates, you're going to see like the MPMX logo with the colors of different communities and inclusion. And we did like a lot of that and some people didn't like it and they don't need to be with us developing or using it and they can just use whatever they want. So we had a few talks where we put a point that everybody that shares our values is welcome, but it's not that everyone is welcome by itself. There is a common base of values that you need to share with us to be involved in the project.
Daniel Roe
The thing people always lead with is, why does this need to be political? And people say that, why can this not just be a great browser for the NPM registry or something like that? And that totally misses the whole point of everything because it's not about just the software. Isn't that everything that we've said so far? This is about people. And this is about open source, which is about people collaborating and building together. And the moment you say this is about people, then it's not just that inclusion is a good thing, as it would be even if you were just building a product. But actually, it's not just a good thing. It is actually the main point, the point of having diversity, the point of having inclusion. That is what open source is about. And honestly, if someone thinks that's politics, I would actually pitch it back and say it's value. Values should drive politics, not the other way around. And one of the most important values that we should care about is inclusion. And yes, that should affect who you vote for, but that's not party political thing, but it should affect what party you vote for. Sorry. But the point is, for an open source project, it matters. It's one of the absolute sine qua non. This is essential for an open source project if you want that open source project to be a good, healthy, safe space. It needs to welcome people. It needs to value their contributions. It needs to empathize with different users of the code and application. ([TimeĀ 0:14:49](https://share.snipd.com/snip/df5eca6c-06b8-4e17-9179-adecaf6f9cda))
- **Split User And Developer Communities To Reduce Noise**
- Separate developer and user communities to protect maintainers from support overload.
- Before alpha, npmx created a lobby Discord for users while keeping developer channels focused and safe.
Transcript:
Matias Capeletto
And before the Alpha Launch, we created another Discord that is working as a lobby. And like it's going to intend it to be like a Discord for users long term that is separate from developers that trying to protect a little bit this developer community. It happened in other places where once you reach a moment where you have maybe a hundred to a thousand time more users than the people developing the project. That is normal. Any kind of like successful library that you will do, like it will have more users. And at one point it was starting to feel like all the public channels are about support, whatever you name them. And like people start to retract to more private spaces and like it really changed it. ([TimeĀ 0:15:28](https://share.snipd.com/snip/2d258252-9101-476a-b602-66b302b9974b))
- **Show Alternatives Not Just Popularity Signals**
- npmx surfaces modern or better-maintained alternatives rather than relying solely on popularity.
- They integrated signals from the Ecosystem Performance community to warn about unmaintained packages and link alternatives.
Transcript:
Matias Capeletto
And this ecosystem performance community is like a community of people that systematically goes over the biggest, most used dependencies in the MPMEC ecosystem and try to make the Dependencies linear, try to improve the performance, try to modernize it. Let's say that this library is using a dependency that is not needed anymore because the node already supports it. So they go and they help the maintainers modernize it. And if the maintainer doesn't want because of any reason, they try to help other libraries, alternative libraries, or create new ones to actually modernize because then you need to Still have an option there. And one of the collaborations that we did early on was that if you go to NPMX, now that we have a lot of users using this registry, we can help them in ways that npmx.com was not doing. And if you go to any library that has not been maintained very well in the past or like they are better alternative and that library is already locked in time than their modern alternative That maybe it's half the size, maybe it's faster. ([TimeĀ 0:19:56](https://share.snipd.com/snip/bfc9ba06-5446-46e3-b586-4419b950747b))
- **Narrow Focus Beats Trying To Cover Every Ecosystem**
- Rather than covering all ecosystems, focus on making npmx smarter within JavaScript/TypeScript and relevant registries.
- Daniel wants constraint-driven search so results respect runtime/environment constraints (Node, Deno, cloud workers).
Transcript:
Daniel Roe
Interestingly, we've had a couple of clones in terms of the design and look and feel, which is a really nice thing, by the way, when something like that happens, you're like, oh, someone Else likes it. There was a Windows chocolate tea. Anyway, there's some websites that are basically NPMX, but for other registries. I mean, it would be possible using something like the API that ecosystems provides, we could display different packages. I think one of the challenges, though, is what's the purpose somebody has when they go to a website like NPMX? So typically they are operating in a single ecosystem. They are in the JavaScript and TypeScript, say, ecosystem. And so there are other registries in that ecosystem. And I think it would make sense to support them as first class citizens alongside NPM. So we have NPM and JSR and anything else. That would be a definite benefit, I think, more than supporting Go, for example, so that when you're searching for library computing hashes for my project, and you know, you're not Seeing Go, like you shouldn't be seeing Go in the list. In fact, we even want to make it more specific. And this is one of my personal bugbears from my early days, reaching into web development where I'm like, okay, I want to build something. Great. I'm going to do something with PDFs. And then I search NPM.js. PDFs. Great. There are like five libraries. Okay, let's try this first one. Oh, wait, it doesn't seem to work in the browser. It's relying on some Node stuff. Like, ah, Node. Well, I guess NPM originally was all about Node. Okay, so that's not going to work. Well, actually, it's really difficult sometimes to find that the package works in the environment you want to use it in. And that can be anything from the Node version that you're running, or the fact that you're not using Node at all, you're using Deno, or the fact that you're actually compiling and you're Deploying on Cloudflow workers, or whatever it is, you have a set of constraints. And wouldn't it be just great to be able to take those constraints and impose them on the registry so that when you're searching and looking at stuff, actually you see like, hey, this Package isn't going to work for you. Just so you know, these are the ones that will. And so I think that will be a killer. More useful than going broad. It's always tempting to go broad. We rule the world. We get all the packages. We'll come to NPMX. I'm still up for that one ring to rule them all. ([TimeĀ 0:23:04](https://share.snipd.com/snip/dc7d0195-7839-41fc-a381-77cf6c39ad83))
- **Plan To Fund Pay For At Least One Full Time Maintainer**
- Seek diversified funding: grants, sponsorships, company partners, conferences, and eventually pay one or two full-time maintainers.
- Matias said money would let them hire devs, run offsites, sponsor talks, and print stickers to grow sustainably.
Transcript:
Matias Capeletto
That's a good one to actually put in the table and maybe we can discuss how to actually do that together. It's something that for the whole ecosystem of and everyone doing open source to figure it out. And I think that this is why you have like the name of this podcast and you have been running with this podcast with so many episodes trying to discuss this topic. But in particular, there are people like Daniel, for example, that's employed at Bercel. And it was very interesting as a project for Nux in the same way that Elk was very interesting for Nux because it gave us a way to put ourselves in the user perspective and like really try Use the tools that we're building also from the VIT perspective, for example. And it gave us something that is very interesting as a result, is that if you want to see a modern Nux application, if you want to learn about Nux, go check out MPMX, because the code has Been written by it, by people who are the plugin authors, but the Nux modules authors, all our maintainer friends came and like integrated their own stuff into MPMX. So it's really, really interesting to see as a code-based stable, as a learning resource. So we have some people that have time to do it without needing to get money directly from MPMX, but we clearly need more for the long run. And it will be extremely, extremely helpful for the project to get enough money to be able to sustain like one or two developers full time to maintain this thing. If it is useful for a lot of people. And we are in that process trying to get some grants, trying to get some way. Maybe this is important for some particular company that like wants to partner, try to really make this happen. The people is there. If we will have the money, the people is there to actually create an even better resource that is better long term. There is a lot of features that we would like to implement that it is waiting for that particular moment. Some companies sponsoring for at a level that allow us to rent an Airbnb to do offsites for the core team and like go to conferences. ([TimeĀ 0:27:11](https://share.snipd.com/snip/eb4f7ec9-2af6-4715-9e82-05dcd09ac019))
- **Clear Places To Join And Get Help**
- New contributors are invited to join builders.npmx Discord where community members actively welcome newcomers.
- Daniel also offers 10-minute bookable chats at row.dev/chat to help people get started.
Transcript:
Daniel Roe
I would absolutely send people to the NPMX Discord. Come to builders.npmx and I promise someone will say, you're welcome. And if you want to get stuck in, it's a great place to explore and test things out. Whatever that looks like for you, you'd be very welcome. And I should say the same is true. I hope in Nuxt, if that's something that want to play around with, I have an open diary. You can book a 10 minute chat with me anytime at row.dev slash chat and give me a bell and you can chat for 10 minutes. ([TimeĀ 0:31:57](https://share.snipd.com/snip/56cf0f75-0831-4f8b-b71d-ac1b48f60290))