This website is developed with Kirby and is hosted on Uberspace.
- on the live server, everything is static HTML. Everything. Nothing is generated dynamically
- no tracking codes, ad codes, external webfonts or other external scripts are loaded
- the webfonts are loaded from the same server which saves one DNS query and does not expose your information to Google or Adobe or another webfont provider
- elements below the fold are lazy-loaded
- every picture has a very small blurry preview picture (around 5 - 8 KB) which is directly embeded into the html via a base64 encoded data URI scheme. This is shown while the full picture is loading.
- all images are available in different resolutions, depending on the pixel density of the display
- AVIF and WebP images are provided, with a JPEG fallback for older browsers
- the fallback JPEGs are saved in the interlaced progressive format, which looks nicer while loading
- the HTML, CSS and JS is gzipped, which speeds up delivery. It is not minified, because this only makes "view source" unusable and does not improve performance (gzip takes care of additional whitspace, and all the other improvements of minifying are neglectable on this small codebase)
- the HTML of subpages gets prefetched
- videos are not embeded directly but displayed with a preview image and the Vimeo player only get loaded after a click by the user. The player sets the dnt option, so no cookies are set and nothing gets tracked (a description for the 'do not track' option can be found here at the dnt parameter). Additionally, the iframe is sandboxed.
- preview videos and muted, gif-like content-videos are converted to AV1 and hevc/h.265 codecs (with a h.264 fallback for older browsers)
- files get heavily cached by the browser (except HTML files which are only cached for 5 Minutes, because they are allowed to change); all images and videos use a hash in their filename, so the browser knows when they change and can fetch the new version
- Fonts used on this website are Gentium Basic (regular, italic & bold) for text and Gentium Book Basic for headlines, both by Victor Gaultney, and M PLUS 1 Code (regular & bold) by Coji Morishita for code blocks
- the website is developed on my local machine with Kirby and is version-controlled via git - because Kirby uses static text files for the content instead of a database, it's super easy to roll back to an old state
- I use a custom bash script that utilizes the static site generator plugin by d4l to build static html pages and sync them to the server