Indie Microblogging by Manton Reece


“All we have to decide is what to do with the time that is given us.” — J. R. R. Tolkien is built on this foundation of JSON and RSS feeds, the importance of content ownership through domain names, and a new UI inspired by social networks.

Because of the technical hurdles of self-hosting your own blog, if we want to encourage more people to blog, it has to be much easier. Centralized platforms allow for that ease of use — nothing to install or maintain, with all the right defaults that use open standards.

I’ve always thought of as glue. It’s a thin layer on top of blogs that provides a Twitter-like timeline experience, adding conversations and user discovery. It’s a social network from the idea that more people should be blogging and sites should talk to each other.

Early on in the development of, I realized that building a social network on top of RSS feeds wasn’t enough. had to be both a social network and a blog hosting platform. I became committed to making the best place to write a blog. publishing is based on Hugo under the hood. On top of that foundation, it adds posting from the web or from iOS, default themes, and other customizations for microblogging. is one of the easiest ways to get started with a blog.

When you publish a new post, takes the following steps:

  1. The new post is saved to a database in for your account.
  2. Your posts are written to files that Hugo can process. first runs the latest posts through Hugo so that the new post shows up as quickly as possible, then processes the rest of your posts.
  3. Your site is published to either or your own custom domain name. This includes updating the feeds.
  4. reads the feed and notices the new post, adding it to the timeline for anyone who follows you.

The goal is for this to feel like a single step, just as if you were posting a tweet, but in reality separates out the blog publishing from the work of building the timeline. It is essentially 2 systems, working together, which means external blogs can also be plugged in to the timeline.

Because is a bridge between centralized services and more distributed platforms, it needed many parts of a traditional API.’s JSON API allows for signing in, retrieving posts in the timeline, replying to posts, bookmarking posts, and more.

The official apps and third-party apps use the JSON API. Most present a timeline interface, with separate sections for mentions, managing posts, and other features.

Some of the popular third-party apps written specifically for include Gluon and Icro. Those apps and more are covered in the blogging workflow chapter.

Alternatively, third-party apps can instead use IndieWeb APIs such as Micropub. This will make these apps compatible with, but also potentially compatible with other platforms.

When was first launched, the IndieWeb APIs could not yet handle everything that needed. Over the years, as APIs such as Micropub have expanded, more and more functionality can be built on those standards.

Eventually, all new apps should be built with IndieWeb standards and not use the original JSON API. For that reason, most proprietary parts of the API won’t be covered in detail in this book, although they are still documented on the help site. Micropub is covered in detail in part 3. is not the only choice for microblogging. A core principle of is that you can bring an existing blog hosted somewhere else, such as using WordPress, and that the platform works nicely with the rest of the web.

Next: External blogs with WordPress →