The Ivan Reese, by type or time.
Site

This site is a labour of love.

It’s compiled with a hand-written build script. No frameworks. One library (for markdown).

I put some frontmatter in each of my pages. Something like:

type: Blog
time: 2024

But I’m not even using that for the main type and time indices. Those are updated by hand, so that I can do fun little bespoke things with them from time to time.

There are some cheeky RSS feeds, also generated by the build script.

The <head> is simple.

I try to give most pages a bit of custom art direction. I just add inline script and style tags. Works great. Keeps me close to the html.

My script scans each page for a few special patterns. ! Site gets turned into <title>Site</title>, and then styled with some CSS. Yes, I put the title element in the body and use it like a heading. This is probably a sin, but I like how it feeds two birds with one scone.

The home page has a big procedural art piece as a hero image. I rework it every few years. It’s getting a little stale again, so I might make a new one soon.

Of course the site has some creaks and aches. Things to improve.

I kinda-sorta assume people will have JavaScript and a fairly recent browser when they run the site. It’ll work fine without, I think, but I really ought to be better about testing and progressive enhancement.

I have a lot of animations, only some of which respect prefers-reduced-motion.

I haven’t done any accessibility work.

It’s hosted on Vercel now, as of December 7th (today, as I write this). I don’t like the company or the people behind it or the culture around it. But, I tested a whole bunch of other hosts, and Vercel was the fastest to go from git push to an updated site — 10 seconds flat. My previous host, Netlify, was the slowest — 90 seconds. I’m willing to tolerate a bit of “Do everything in JS bro” culture if it means I can iterate more quickly.

I’ll probably have more to say here soon! Thanks for reading. I love that you’re interested. The web warms my heart, too.