If you are interested in how this site runs and was created - this is for you!

The stack #

  • Hugo — this is a Hugo static site hosted on Cloudflare
  • Cloudflare R2 — photographs are all hosted here, at media.jaredknowles.com. A build script resizes them into a handful of widths for each device and also hosts the full-resolution version you can download. Some datasets will also be hosted here.
  • Git and Gitea — the whole site is a code repository I host on my own Gitea source control system. I can make changes and the build server handles deploying the site live to CloudFlare via Gitea Actions.
A homelab server rack in a stone-walled basement — a patch panel and network switches with a tangle of blue, white, and yellow ethernet cables, beside a keyboard.
The build server, in the basement.

LLMs were used in the making of this HTML #

I could not have created a new home on the web with the features and functionality that matter to me without the use of LLMs. I used Claude via Claude Code to help me encode the design, wire up the photography hosting infrastructure, and create an admin portal I can post to without editing bare markdown files in a massive Hugo directory. This helps me keep the running cost of the site close to $0 while retaining the features I wanted.

The photography, writing, and posts are all mine. I do use a local AI model running in my homelab to generate alt text for images which I then edit and verify. This helps me keep the site accessible without sacrificing the volume of posts or my time. The LLM has helped me to wire all the pieces together to make it easier for me to share my work without sacrificing on quality.

Design elements #

  • Text and photographs are © Jared Knowles, licensed CC BY 4.0 unless a page says otherwise.
  • The type is set in Cabinet Grotesk (headings), Inter (body text), JetBrains Mono (the EXIF and code), with Archivo Black for the big display type. All of the fonts are self-hosted, so no font CDN is tracking you.

Privacy forward #

  • No database. No tracking. No analytics that follow you off the page. Nothing here is trying to learn anything about you. I have a simple page view count available via CloudFlare but nothing beyond that. As the web should be.

Inspiration #

  • I first realized a site like this was even possible when I stumbled onto Justin Searls’ site .
  • That led me to discover the IndieWeb community and its POSSE principle — Publish on your Own Site, Syndicate Elsewhere. That’s exactly how everything here works.

If something here is broken let me know .