The Technical Specs
About this Space
Why I built this place, and how it works.
The purpose of this blog is to exert a measure of control over my digital life and creativity. While social media continues to make it easy for us to broadcast our voices, algorithms have degraded our ability to make connections with each other by reducing real communication into "interactions" (like/share/comment/smash that subscribe button.)
This space is my attempt to get away from all that. It's a space where my ideas can live and breathe without being crushed under the weight of an algorithm. It's a space where you can get to know me. And if no one reads this or thinks it's interesting? This place is still mine, and I'm not feeding data into a digital meat grinder.
Will I share links to my content on those platforms? Sure. But aside from a few words and a link here and there, 100% of my stuff lives here on this blog and nowhere else on the internet.
What's Here
A couple of things on this site work a little differently than a typical blog, so I thought I'd give you an explanation of what that is.
Messages is a guestbook, more or less (remember those???) Leave your name, a quick note, and — if you're feeling it — a doodle drawn right in the browser, or uploaded. I read through everything before it goes up on the wall, so don't expect it to appear instantly, but it will show up. The communication with Messages only goes one way by design. I don't want to collect your data. If you are interested in more of a dialogue, feel free shoot me a message on Bluesky.
Intrusive Thoughts is a microblog, and my attempt scratch the social media itch. I hear you saying, "But, Brandon, no one sees this!" Social Media is a void anyway, at least this void is mine. If you like what you see, there is a share button but that's up to you.
Images mostly live outside the git repo entirely, on their own dedicated image host, rather than bloating the actual site's codebase with every photo or sketch. Anything that does live in the repo itself gets resized and converted to a modern format automatically when the site builds, to keep things as lean and fast as possible.
Colophon
This is a static site, built with Eleventy using a vivisected and Frankenstein'd version of the 11ty Base Blog and held together with hand-written CSS, Nunjucks templates, and vanilla JavaScript.[1] I write everything in Markdown language in Obsidian and treat it like a real vault. I use a Markdown-it pipeline to translate Obsidian's specific Markdown styles so what I write in the app is what ships, with no manual translation in between.
The vault lives in Github and pushes the site Cloudflare Pages for hosting, which also hosts a handful of quality of life things that need a back end: the Messages wall and the live-posting side of Intrusive Thoughts both write to a Cloudflare D1 database, with photo and doodle uploads going to their own R2 buckets. Everything else — every journal post, sketch, note, and log entry — is just a simple markdown file rendered at build.
Fonts & Colors
The site uses Atkinson Hyperlegible Next font, designed for legibility; headings and a few flourishes use Comic Neue by Craig Rozynski, to add personality without sacrificing accessibility. Colors and contrasts have been selected in an effort to strive for conformance to WCAG 2.0 at Level AAA. You can learn more about that here.
None of this is trying to be clever (even though some of it is a little clever.) It's just my attempt at a calmer, more original corner of the internet.
Site assets
Some of the images on my site come from Unsplash and those artists are attributed below:
- Books hero - Clay Banks
- Games hero - Lorenzo Herrera
- Movies & TV hero - Alberto Contreras
- Music hero - Blocks
- The feather pen icon on SCENE callouts is from Flaticon: Feather pen icons created by Magnific - Flaticon
- The books icon on FURTHER READING callouts is from Flaticon: Book Icons created by mikan933 - Flation
Footnotes & Asides
While I do have some hard-won experience building websites since the Angelfire and Geocities days I am by no means an expert, and did use Claude for some consultation on how to make it all work together. ↩︎