Why I choose to code my website

When there are so many options for building semantic and performatic websites without code, like Webflow, and even Framer, why would anyone choose to code?

To me, it is about the journey.

What journey?

I started my career as a web developer, back in 2015. And it was also the seed for my design career, where I learned many concepts, workflows, and ideas that became the foundation for any success I have in helping clients and coworkers.

There’s something about coding…

Maybe it’s the tweaking involved to make things look just right. You adjust a padding here, improve the kerning of the titles, format the data in different ways…

Maybe it’s the composability of it. Writing code, then refactoring as you go to create components that will DRY 1.

Maybe it’s because it forces us worry not only about the user experience, but also our own experience. I can’t sweep things under the rug. If I write shit code, it’ll make my life harder for maintenance in the future.

There’s a DIY aspect of it that is much more satisfying than any other tool can provide.

It’s also harder to update.

You have to give it more thought. It took me 8 months since I wrote about small iterations, and only now I finally updated my site from v1 to v4—and yeah, I started v2 and v3, but closed their PRs, and never launched.

The feeling of satisfaction you get when you build part of the underlying system that will support parts of you to be shared with the world, it’s greater than I ever achieved with any no-code tool.

And, to be honest, I was feeling kinda rusty with code, and wanted to prove myself I still got it.

What I used to build it

It’s all in my colophon, but I’ll tell you anyway:

  1. Designed it entirely on Sketch
  2. Coded the entire HTML and CSS on top of Astro
  3. Pushed to Github
  4. And deployed it with Netlify

The process of building it was mostly me typing HTML, elements up into components, and writing my own CSS.

If I ever hit a wall, or a bug, I would refer to AI, and problem solve. Which actually surprised me.

AI was great. But it also requires a lot of back and forth. It’s great for small and very objective tasks. If you ask too much, it can go down rabbit holes that are just not it. Especially with code.

The structure

I wanted my site to be a living thing, to update with thoughts, essays, resources, like others before me have done, and also share my work, my experiments, my books, and my photos.

Basically anything that interests me, and I think would spike a topic for conversation.

So I set up Collections for all of that using Astro’s Content Collections, which has been incredibly easy to do. Easier, in fact, than any other static site generator I have ever used (NextJS, HugoCMS, Gulp, etc).

Will I go back to coding every site I build?

Absolutely not.

Unless, of course, I pursue the design engineer more fiercely.

Until then, I will focus on delivering the best work I can, in the least amount of time I can for customers. Which mostly means using no-code tools like Webflow.

Besides, me and Fer already have ViewportUI to take care—and it’s been fully coded in Hugo.


Footnotes

  1. DRY is short for “Don’t Repeat Yourself” — in code, if we can automate repeatable tasks, we should take advantage of that. Components are a great example. You can pass data to them and not have to write the structure again and again.