Tools for the Sustainable, Social, Specific Indyweb
I want you to help me curate a list of NodeJS modules.
I think the future of the indie web will all depend on individuals and small groups being able to create sustainable social sites for their specific needs with little effort, and I don't think the web (or at least the NodeJS) ecosystem is currently equipped to support this.
Sustainable sites will need to be able to go a long time without any development work, and possibly with completely different developers. A site like this will need any dependencies to be small and specific (AKA UNIX philosophy), easy to understand (small API, not magic), and stable (i.e. infrequent major version changes/api breakages).
For sites to be social, they need to be interconnected to be able to compete against corporate social media. Connecting your site to ActivityPub should be as easy as setting up a database, or easier. Identities should be portable - sign up once and login anywhere, using something like OIDC with Dynamic Client Registration. Currently integrating with these kinds of services in a framework agnostic way is not easy, but there's no reason it couldn't be easier.
A specific site is designed for the community it serves, from the ground up. It does not use a cookie cutter, a framework with dependency injection, a one-size-fits-all CMS with extensions and YAML config files. It is an application that composes smaller more specific libraries for its own needs, no more and no less. Application code is the configuration file.
If I want to create a database of nature recordings with taxonomic tagging, I shouldn't have to choose between a customized audio upload platform and a customized taxonomic database platform. I should be able to connect an audio upload module with a taxonomy module, wrap it in an HTML template and be done.
I'm sure there are plenty of these kinds of NodeJS libraries out there. I've been trying to create some of them myself, but I've been burning out lately. If there are any libraries you know of that fit the bill, please let me know. I would like to compile a list. You can contact me by email (firstname.lastname@example.org) or on Mastodon (email@example.com).