A static site is one where the pages are pre-built files. A dynamic site assembles pages on the fly from a database. This is explained in more technical detail in the site architecture post.
The practical difference matters less than the perceptual one. Static sites tend to feel like brochures. Dynamic sites feel like applications. Neither of those is what a personal site should feel like.
A personal site should feel like somewhere a person actually lives.
what a brochure feels like
You’ve seen them. A name at the top. A list of projects, each with a title and a link. A contact email at the bottom. The page was probably last touched when the person applied for their last job, and it shows. Nothing on it changes. Nothing on it implies there’s anyone home.
This is fine as a document, but I find it ro be rather flat as a represenation of a person.
The mistake is not really the technology; static is fast, cheap, and easy to maintain. The mistake is treating the page like a PDF that happens to be on the web. I enjoy when pages feel like they want to be interacted with; a clear attempt was made to form a connection with the user.
signals of presence
What makes a place feel inhabited isn’t constant change. It’s evidence that someone was recently there, and occasionally, evidence that they are there right now.
A few things that do this cheaply:
Something that changes on every visit. The generative art on the homepage draws a different pattern on each load. It’s the same code every time, but the randomized phases mean the output never repeats. A visitor who comes back tomorrow sees something different. That alone implies the site is alive.
Something anchored to real time. The bottom of the homepage shows a clock showing the current time of wherever I happen to be locally. Below it: “probably awake” or “probably asleep.” This is a small thing. But it’s a thing that only makes sense if a person is on the other end. A brochure doesn’t have a sleep schedule.
Something that reflects what you’re actually doing. The film section on the shelf is pulled from my Letterboxd log at build time. It is not a curated list of favorites; it is whatever I’ve been watching lately. That specificity is honest in a way a hand-picked list isn’t.
Something that shows your taste right now. The site’s colors come from whatever wallpaper I have set on my desktop. A visitor who checks in while I’m running a warm amber scheme sees something different from one who visits when I’ve switched to something cooler. The site does not just describe me; it reflects my current state in a small, literal way. If you’re lucky, you might even be able to catch the exact time I change my wallpaper as the site will refresh and reflect my local system state.
the difference
Dynamic sites are real-time by default. Static sites have to earn that feeling through design, by including things that carry evidence of a person, things that vary, and things that are specific rather than generic.
The goal isn’t to simulate a dynamic site. It’s to make the static site feel like it has a heartbeat by intertwining dynamic features and personality into the page without making the site overstimulating.