Building in public

27 March, 2020

So, new website. You may notice some gaps here and there, edges I haven't sanded down. Not all the projects have full writeups at the moment, for instance. This is contrary to my instincts, and it's deliberate. More on that in a bit.

I jotted down some design goals before re-building this site. They were pretty simple:

  • Words over pictures
  • Well-made simplicity over flash
  • Friendly over fancy
  • Make it fast, accessible and extensible

Those are pretty self-explanatory, I think. I wanted to write more, about code, about design, about how-to-do-things, about how-can-i-figure-this-thing-out. So, the design should emphasize clear typography and readability over image-heavy layouts, slideshows, effects, etc. (Whether a non-fancy site is an appropriate portfolio for a developer who's actively looking for work is a different question. One worry at a time, in these difficult times.)

"Make it fast" refers to two things: "fast" in the sense of performant (which is why this site is static: building the front-end in Gatsby and deploying it via Netlify gets you a lot of speed right out of the box), but also in the sense of "quickly". Working for a client, you do your research, you make your decisions, and you forge ahead, always evaluating when it's better to fuss over small details and when it's best to just get something working right now. (It's not your time, it's their time and their product.) But with self-directed projects, it's so easy to go down a rabbit hole of fussing over typefaces, colour, tech stack, implementation details, everything, anything. It's your project, it's your time, and there's no deadline, so you may as well tinker and tweak until everything is just so and not deploy until the project is finished.

The horrible twist, of course, is that no website is ever finished. Which means you never deploy. You've got a model train set in the basement that no one will ever see, and it's kept you very, very busy, but to what end? Real artists ship, as they say.

My conception of development is much the same as my conception of design, or writing, or most other things I've done: it's iterative. You do a thing, possibly/probably poorly, then you do it again, but a bit better. Then you do it again, but a bit better. It's just normally, I only deploy a site (or show a design, or or or) once I'm several cycles down that process. This time, I'm at about the second. (I had to get things looking pretty good at least.) So the typography is legible but the bullets are too small. So there's a basic carousel component on the project pages, but there's no nice transitions on it. I'll add those in a week maybe. So things don't fade in smoothly as you scroll down. I'll add that after. Websites are never done, so let's just lean into that.

I guess this boils down to not letting the perfect be the enemy of the good, which is hardly a novel observation – but it is for me, when it comes to self-directed projects. I'm gonna be less precious about this one than usual and build this in public.