I know enough coding to build a basic static blog, and GitHub Pages seems like an inexpensive way to host it. However, a few friends want to contribute, and they do not know HTML, JavaScript, or any other programming language. I would like them to have an easy way to create and publish posts. Is it possible to add user accounts and user-generated content using only client-side code while still hosting the site on GitHub Pages, or should I use a different platform or architecture?
3 Answers
For a small group of invited authors, you can keep the published site static and use a Git-based CMS. Your friends would edit posts through a browser, the content would be saved to the repository as Markdown or YAML, and the site would rebuild automatically. They would not need to write HTML, although authentication and repository permissions still require some setup, so it is not entirely client-side.
GitHub Pages only serves static files, so it cannot directly handle user accounts, authentication, or saving new posts. You would need a backend, database, or hosted service. Platforms such as Netlify or Vercel can provide serverless functions and free tiers, but the application would no longer be purely client-side.
If you mainly want a simple blog with a few contributors, a hosted blogging platform or content management system may be easier than building the whole system yourself. A CMS can provide logins, an editor, and content storage without requiring your friends to write code.

That approach works well when only a few trusted people are contributing. Tools such as Decap or Keystatic can provide the editor, while the static site can remain on a free hosting service. It is much simpler than implementing public registration and publishing from scratch.