/colophon1

this page details the more technical aspects of how this website is built

the presentation layer is discussed in theme, and the structure in /ia

tech stack

No LAMP here. It is not 2003.

The stack here is LBKVGO:

os
Linux web server
Bespoke (writtten in Go) database
key-value persistent store (written in Go) services programming language
Golang

It is literally one binary that is deployed into a server. And that binary is primarily a daemon that provides the services, but is also a CLI to administer the daemon. Neat, eh? Some might even say sublime: atomic deployment; no version mismatch between the admin CLI and the server logic daemon because they are conjoined; no external runtime; no shared libraries to exploit; performant; something a Real Programmer and BOFH would do.

services

the tech stack provides a trilogy of services (not just www)

IdP
it acts as an identity provider; this is nerdy technology: IndieAuth
www
it acts as a web site, serving up html pages of wisdom (like this very page you are reading now).

pages are store in a variety of formats (e.g. html, md, mf2+json, txt) and converted2 as needed.

social
it acts as an ActivityPub server for participation in that nebulous thing called the fediverse

$LastModified: 2026-04-22 21:49:29Z (Wed, 22 Apr 2026) $


  1. From the greek meaning _designer talks bollocks that only other designers care about_.
    
     ↩︎
  2. Using HTTP’s content-negotiation facility. It tantek or any of his IndieWebOrg acolytes read this, they are probably having an absolute cow now because they are so against it. Seriously, just get over it. Conneg has been in the HTTP spec since day 1 (ask TimBL), and sure, in the early days people have fluffed the implementation, but if after 20 years you still can’t program conneg then you don’t have the right to call yourself a programmer. ↩︎