From IndieWeb

Core Principles

The IndieWeb has three principles to guide our approach to building, growing and sustaining the independent web:

🥸 Own your identity
An independent web presence starts with an online identity you own and control. The most reliable way to do this today is by having your own domain name.
😌 Own your content
You should retain control of the things you make, and not be subject to third-parties preventing access to it, deleting it or disappearing entirely. The best way to do this is by publishing content on your own website.
🥳 Have fun!
When the web took off in the 90’s people began designing personal sites with garish backgrounds and animated GIFs. It may have been ugly but it was fun. Let’s keep the web weird and interesting.

Developer Principles

When building a tool or service that supports the IndieWeb and its community:

🍩 Make it user-centred
Usability is more important than protocols, formats, data models, schema etc. Start with user needs, and figure out how to build the simplest, easiest and most minimal solution that can address them.
🥪 Make what you need
Don’t design for a hypothetical user as they may not exist. Make something that satisfies your own needs, first. Also known as scratch your own itch.
🍽️ Use what you make
Personal use can help you uncover problems and areas for improvement more quickly. Focus on solving real problems instead of theoretical ones. Also known as eat what you cook.
🍭 Make it your way
We can innovate faster if everyone builds what works for them and we figure out how to interoperate between different approaches later. Having a plurality of projects makes the indie web more inclusive than other open source efforts.
🌮 Make it open
Building software collectively and in the open instead of privately and in the abstract means it is more likely to be used. Making your code open source means other people can build upon what you’ve made.
🍱 Make it modular
The more modular your code is, the less dependent you’ll be on a particular device, interface, API, programming language, storage model or platform. Modularity increases the chances that parts of it will be re-used and improved, changes which you can reincorporate later.
📖 Document what you make
Document your process, ideas, designs and code. Help others benefit from your journey — including your future self!
🥫 Make it last
If society can preserve ancient papyrus, Victorian photographs and dinosaur bones, we should be able to build durable web technology that doesn’t require destroying everything every few years in the name of progress.