Open Social Software. npmx 

An image featuring project contributors with the caption “./npmx a fast and modern browser for the npm registry”
alt

It’s been a month since the release of npmx.dev. We had a wonderful release week with many informative and in-depth articles not only about the experience of participating but also about the technical foundation. Thank you to everyone who is helping us on this journey, and a big thanks to everyone who supported us and shared their kind words. If you missed it, read and discover all these wonderful stories in my previous article or in the official release.

At the same time, we’ve just celebrated reaching 3,000 stars, made a number of major releases, and the team gave a really great presentation at atmosphereconf

avatar

What a conference! Thanks for having us #ATmosphereConf 🙌

patak, willow, bailey, zeu, james, and blossoming trees at the end of ATmosphereConf
Alt
2
11
217
Open in Bluesky

But it seems I still hadn’t actually answered so many questions - just teased at the end of the previous article. I think it’s time to formulate the answers and finally gather them all in one place.

Prehistory 

But to make the answer clearer, it’s worth going back a bit. By the time I joined, it was already a well-organized community that welcomed everyone with warmth and helped us build together. It was an intense and enjoyable time, and together we solved all the problems fairly quickly and completed most of our plans. Then we started talking more about the future, architecture, and details - how to make the service fully-fledged, stable and friendly for everyone.

We thought a lot about accessibility, design, security, performance, copywriting, and, of course, the community. This became a turning point when the code took a back seat. Yes, it happened in less than a month, but it was inevitable. After all, behind technology there is never just code, but people and an idea.

An image showing a complex structure where blocks are stacked one on top of another, but at the bottom there is a thin block on which everything else rests, accompanied by the caption “A project some random person in Nebraska has been thanklessly maintaining since 2003.” And above it, the caption “All modern digital infrastructure.”
alt

At the same time, there was a post online where we were all discussing the OSS community’s attitude toward non-developers.

avatar

free open source software needs fewer engineers and more designers and product people

22
87
408
Open in Bluesky

I’m not one of those who thinks there’s a big difference in attitude. In most cases, the community is either friendly to everyone or largely closed off within a specific circle. And it’s rare to find a place where code is welcome but ideas and other forms of contribution are not.

Hostages of Habits 

Yet in our daily lives, this difference does exist - it’s the infrastructure. When we talk about representing contributors at the service level, perhaps the first thing that comes to mind is the list of contributors on GitHub. It’s also, in a way, the last. Everything else is, at best, isolated efforts by individual projects to make the contributions of other participants visible. But despite these rare attempts, the approach itself doesn’t really change, and this has become an established habit.

Screenshot of the “Contributors” section on GitHub for the npmx.dev project. A total of 244 contributors
alt

But why is there so much focus on this? Don’t get me wrong - code is a very important part of OSS - its value is hard to overstate. But the main value lies in the community, in the people. If we look at projects, the most valuable thing we’re building isn’t individual features - that’s a matter of hours, days, or sometimes even weeks. The most valuable thing is peers. As we build features, the project will continue to grow, but it will gradually approach a plateau. Each new task will contribute less and less to this creation.

Peers, on the other hand, are about exponential growth. But when these peers consist only of developers or another specific group, we very quickly hit the inevitable glass ceiling. A great tool made for oneself and tailored to oneself. Going beyond this zone has always interested me - first as part of work projects, and now [even more so] as an npmx.dev member.

Not a universal experience 

“But why go beyond these boundaries if it already works for a million people - it’s a tool for developers, and that’s enough for us”. And behind this lies the same principle as in any other area of our lives. When working with a specific group, we end up in a bubble from which we cease to understand other bubbles.

It’s about design - just because we like it doesn’t mean it aligns with the user experience;

It’s about accessibility, because just because we can see it and control it doesn’t mean others will “see” it too;

It’s about performance, because when it works fast for us it doesn’t mean other users will consistently get the same experience;

It’s about our representation, because what’s obvious to us might be a blind spot even for experienced engineers;

It’s about copyright, illustrations, security, stability, emotions. It’s about us. After all, we are human - unique and so different. And it is precisely this diversity that shapes our future.

An Open Community 

It’s hard to call me an optimist, but I know for sure that we’re moving forward toward a bright future. That’s why one of the tasks that I - and many at npmx - set for ourselves as a key goal is to make collaboration among all of us easier, more convenient, and friendlier for everyone.

With this in mind, I participate in many discussions, and it’s largely this mindset that guided the design of npmx and parts of my vision. And yes, we have a design - you may have even seen it mentioned at atmosphereconf.

A screenshot of the npmx.dev design showing numerous sections and subsections, including UI, home, search, chat, package/* pages, profile/* pages, compare, settings, archive, brand, two versions of the about page, etc.
alt

We work hard to be an open community, but we’re still limited by our services. However, in recent years, aside from AI, there’s been - in my opinion - an even more important shift that’s worth stepping back from for a moment.

At protocol 

A decentralized protocol focused on ownership. Your data is owned by you, while additional infrastructure interacts with each user’s data and acts as an intermediary at the general level when necessary.

Screenshot of the atproto.com homepage with the text “At protocol. Building the social internet”
alt

It solves the problem of connecting users. And that is exactly what we were working on. Any service, any user, any infrastructure can connect to this data and take exactly what they need, displaying it however they want and own this actions the way they want. This vision resonates with many of us, and in fact, it solves exactly what I described above. That’s why we’re built on it - not on specific, off-the-shelf tools but on the protocol and the vision.

This site, by the way, is also powered by atproto, and the article you're reading now is stored in my pds in site.standard.document lexicon

Social Layer 

We loosely refer to this level of functionality as the social layer. It’s where all user and package interactions take place - projects, profiles, likes, saves, shares. This already makes up a large part of the project, but in essence, we’re just getting started in this direction. One of the first such updates was likes, and to my delight, the wonderful Svelte has been and remains the leader all this time (now it's already 191).

avatar

love @svelte.dev on @npmx.dev

page showing svelte package with v 5.49.1 with 17 likes
Alt
1
2
17
Open in Bluesky

Nowadays, in our daily lives, we interact with dozens of services just to get basic information - to check stars and downloads, read documentation, view source code, look at vulnerabilities and issues, follow authors, join Discord, check releases, read the author’s articles…

This list goes on and on. And it’s even longer for the project author who shares all of this with their beloved community. The true magic of OSS lies in the people who do this, day in and day out. Thank you for that!

You’re making magic happen, and we can’t do it for other, but we can help make it easier. Npmx has already brought together npm view, GitHub stats, Social Layer, e18e and many more in one place. Integrations with an even longer list of services are coming soon

Screenshot of the “Network” tab design on the Nuxt package page, showing posts from various services and internal posts; on the right are links to open profiles, connected services, maintainers, and community lists
alt

But even this still largely keeps us in our bubble.

Contribution as a layer 

Thinking about how to break out of this bubble, I’ve been talking a lot with people both inside and outside the community in search of details and solutions, including in discussions on the post mentioned earlier

avatar

That's definitely true, but first free open source needs ways to become interesting to these people

avatar

free open source software needs fewer engineers and more designers and product people

4
 
14
Open in Bluesky

We have many people ready to join us on the OSS journey, but sometimes there simply isn’t room for them. Some contributions simply go unnoticed, except for our personal appreciation for these people. We try to speak up about what our community does and value it a lot (endlessly). But we want to show this even more, including at an automated level.

That’s why another idea I hope we can implement is “contribution interactions”. Imagine a social network with users, posts, comments, and embeds. But instead of social media accounts - you have tech profiles, instead of posts - releases and articles, instead of comments - ideas and tasks, and instead of likes - contributor recognition and reactions.

Screenshot of the profile design with the current "Contributors" tab, showing the user’s profile and cards for contributors who have contributed to this profile (23, 21, and 12 contributions shown)
alt

Every PR is an important contribution to the project, but equally important contributions include tasks, designs, suggestions, ideas, bug reports, and even posts expressing disagreement. One of the main ideas is to make this visible. In that very same unified space that has already become home to all our daily services, a new layer will appear to strengthen the connections between these areas. After all, to be a contributor, you don’t necessarily have to be on GitHub - it’s enough to love the idea just as much as we do. And our task is to find a way to say thank you in return. To everyone, everywhere.

After all, behind every technology there are always ideas and people.

Some of the incredible people who contribute to npmx.dev
alt

A few other updates 

npmx stays true to its values, remaining not only the service I love so much, but also a warm, welcoming community that I’m so happy and proud to be a part of. Made by wonderful alfon.dev

avatar

today and always ./🏳️‍⚧️

the npmx landing page with a Transgender Pride Flag based kawaii logo built on March 31, 2026
Alt
8
57
368
Open in Bluesky

We conducted some research with the team and shared the results on April 1st!

avatar

Light mode only 🎉 We’ve finally completed our user experience research and carefully reviewed the results. To deliver the best possible experience, we’ve decided to remove the dark theme Thank you all for participating! 🤍 You can already see it on https://main.npmx.dev 🎉

npmx.dev home page screenshot in white mode

> Update: We’ve completed our user experience research and carefully reviewed the results. To deliver the best possible experience, we’ve decided to remove the dark theme. We’re committed to making decisions based on what works best for our users and are glad we took the time to validate this through user research. Thank you for participating 🤍
Alt
13
9
88
Open in Bluesky

Charts, as well as many other details, have become even more accessible

avatar

New blog post!

a11y ch4r75

Reflections on iterative improvements to make vue-data-ui a more accessible data visualisation library, and the implementation of new a11y features of the charts used in npmx.dev.

graphieros.github.io

2
5
19
Open in Bluesky

Comparing packages has become much more convenient

avatar

Happy that the multi-select feature is finally live on @npmx.dev along with lots of new features, bug fixes, and other updates. https://github.com/npmx-dev/npmx.dev/pull/2096

Screen recording of the new multi-select feature in NPMX that lets users search for multiple packages, select them, and then compare.
1
9
45
Open in Bluesky

A wonderful version page has appeared

avatar

Happy to share that I built a version history page into @npmx.dev Browse all published versions of any npm package — with a cleaner design, faster loading, and easier search than you'd expect. So happy to finally see it live ✨

npmx version history page
7
10
59
Open in Bluesky

And much, much more…

We’re building this project for people, together. Join us on this great journey.

SiteDiscordBlueskyGitHub

Community Stories 🌸

Show moreShow less