Pagecord is a free, open source blogging & personal sites project written in Ruby and released under a custom open-source licence. It has 189 GitHub stars, 15 forks and 9 open issues, and was last pushed 18 hours ago. On this registry it ranks #24 of 25 tracked projects in Blogging & Personal Sites, with 5 head-to-head comparisons available.

What is Pagecord?

Pagecord is a personal website and blogging platform built on Ruby on Rails that is aimed at people who want to run their own blog, either through the hosted service at pagecord.com or from their own machine, and who would rather write than fight a publishing pipeline.

What it is

Pagecord is a self-contained blogging application written in vanilla Rails 8 and assembled from standard Rails-era parts: Hotwire, import maps, Postgres, Sidekiq, and Minitest with fixtures. Its README describes the codebase shape as fat models and skinny controllers with RESTful routes, and the conventions contributors are expected to follow are written down in AGENTS.md. Supporting documents split the project along practical lines: architecture.md explains how the app is shaped and hosted, docs/development.md covers running it locally, and docs/sysadmin/ holds production operations notes.

The concrete problem it solves is the gap between where a person writes and where a blog lives. Pagecord is positioned as a platform that "meets you where you write," and its development documentation covers email processing, which points at publishing by sending mail rather than by opening an admin dashboard. It replaces the usual assembly job of stitching a static site generator, a host, a database, and a mail handler into a working personal site, and it also replaces handing that whole stack to a third-party blogging service. The stack itself is deliberately unexotic: a Rails monolith that a working Rails developer can read end to end, with a seeded blog available at joel.localhost:3000 so the multi-blog behaviour is visible from the first run.

Key capabilities

  • Full Rails 8 application using Hotwire and import maps for the front end, with no separate JavaScript build step beyond the asset pipeline.
  • Postgres for persistence, Sidekiq for background jobs, and Memcached for caching, all started together by the provided compose stack.
  • docker compose up brings up Postgres, Redis, Memcached, Rails, and a Tailwind watcher, exposing the app at http://localhost:3000.
  • Email processing is a documented part of local development in docs/development.md, supporting posting by mail.
  • Billing behaviour can be simulated during development, so subscription-like flows can be exercised without live payment credentials.
  • Minitest with fixtures is the test framework, with a CI workflow badge in the README showing the suite runs on every push.
  • Multi-blog hosting on subdomains, demonstrated by the seeded joel.localhost:3000 blog, alongside production operations documentation under docs/sysadmin/.

Who uses it and how

  • Individual bloggers who want a personal site and are willing to either run the hosted version at pagecord.com or operate their own copy.
  • Rails developers evaluating a conventional codebase, since the "vanilla Rails, fat models, skinny controllers" structure is stated as an explicit design choice.
  • Self-hosters running the compose stack on a single machine, with Postgres, Redis, and Memcached as co-located containers.
  • Operators who need runbook-style material, served by docs/sysadmin/ for production and docs/development.md for log analysis and billing simulation.
  • Contributors, who have CONTRIBUTING.md and AGENTS.md setting out conventions before any patch lands.

Getting started

The quickest route is the compose file: running docker compose up starts the database, cache, queue, Rails, and the Tailwind watcher, and the app answers at http://localhost:3000. Native development without Docker, including email processing and billing simulation, is documented in docs/development.md.

How it compares

No comparable tools or paid products are named in the facts for this entry, so Pagecord stands alone in this registry rather than sitting in a documented field of rivals. Judgements about how it stacks up against other blogging platforms are therefore left to the reader, based on the stack and the licence noted above.

When to use it — and when not to

Running Pagecord yourself means operating Postgres, Redis, and Memcached alongside the Rails process, plus whatever outbound mail path the email posting feature needs in production. The repository reports the licence as NOASSERTION, so anyone planning to reuse the code commercially should confirm terms with the maintainer before committing; nine open issues and a small contributor base also mean paid hosting at pagecord.com is the lower-effort option for non-developers.

project readme (upstream, from github) — read inline

Pagecord

Blog without the slog.

https://pagecord.com

Say, what?

Pagecord is a personal website and blogging platform. Simple to use, powerful under the hood.

The stack

Vanilla Rails (8), Hotwire, import maps, Postgres, Sidekiq, and Minitest with fixtures. Fat models, skinny controllers, RESTful routes. All that.

The conventions the code follows are written down in AGENTS.md.

Finding your way around

Quick start

docker compose up

That starts Postgres, Redis, Memcached, Rails and the Tailwind watcher (the app side uses Tailwind... for now).

Visit http://localhost:3000, or a seeded blog at http://joel.localhost:3000. The full setup, including native development without Docker, is in docs/development.md.

Frequently asked questions

Is Pagecord free to use?

Pagecord is open source. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Pagecord do?

Personal blogging platform that meets you where you write

What is Pagecord written in?

Pagecord is primarily written in Ruby. Its source is publicly available at https://github.com/lylo/pagecord, and it has 189 GitHub stars.