Building a personal website
2024-02-13 by Gabriel C. Lins
Creating iterations of my personal website has always been a cathartic process to me. Not in the literal sense, obviously – I still keep my real emotions repressed all right. But as far as software development goes, this is the closest I get to putting my feelings into something I do: everything I know, every little aspect of the job that only I care about, all of those tiny little things – they get their time in the sun right here.
In this article I'll talk a lot about myself and my old websites you probably can't find anymore, but I'll also offer some tips if you ever want to venture into having your own corner of the web.
Your window to the world
The last version of my website – the fourth one by my count – was the first time I realised this is what I was looking for when creating my own page. I'm looking to express what I think the web should look like – hell, I get to say what does and does not look good! What if I think the overt minimalism of the 2010s' design trends wasn't that bad? Or that using JavaScript for your entire project isn't a terrible idea after all?1 Or that old school blogging and RSS feeds are cooler than X and Medium? Here I get to be right about everything.
The problem with being right about everything, however, is that nothing surprises you anymore. If you are the god of your tiny world, everything within it is a reflection of your mind – a snapshot of the place you were in whenever you created it. So, as your own tastes and opinions evolve, you are going to find your own creation more disgusting than any other, because you know exactly why everything is put together the way it is. And since it's a small, personal project, the reason these decisions were taken will invariably circle back to you.
This, I believe, is the reason I keep rewriting my personal pages. No one holds them to a higher level of scrutiny than myself. Also, it reflects what I am capable of doing, but, more importantly, what I think is actually worth doing. I've seen a lot of personal websites with impressive animations and the use of all the latest libraries, the most provocative calls to action a marketing specialist could write, and lots of keywords ready to be scanned by robots and headhunters alike in order to maximise reach. This is great and I respect the time these people put into these demonstrations. I wish I had the same patience and, honestly, the confidence that other people are actually going to see all of that effort.
But today, my thought process is different.
I'm not making this page to impress anyone.
Most of the time, you're the one looking.
This is the first time I'm recreating this site with complete awareness that I'm doing it for no one other than myself. And maybe it's for the best. This time, I'm not writing it with a full internationalisation system, with a light mode option and a modern design. It's not mobile-first – though it probably looks better on mobile than any other version I've made –, it's not hooked with analytics and it's not trying to show off my amazing UI/UX skills that go along with my full stack developer career.
It's just a personal website. You know, like Neocities. But not there.
In fact, the fourth version of my website was a Neocities page I made for fun. It never replaced the main, "professional" site, and instead just stayed there in its own little neocities.org subdomain. But it's the site I had the most fun making: it looked as silly as I wanted it to look while still having a bunch of clever things, all the bells and whistles, and, because it was made with the purpose of emulating those Web 1.0 sites, I had a reason to go wild writing ramblings about my personal interests. It wasn't yet a site I made for myself though, since I was making it to try and participate on a trend.
This is the culmination of all of these iterations of the massive task that is "making something that describes you as a person and a software engineering professional".
So, here are some tips if you're thinking of doing this yourself, or you're tired of your current website.
Don't overthink it. Do what looks cool to you.
This is really the core of my advice. You're the person who's going to be staring at this the longest, and it's not close. So make something that you like. If you need to attract clients or get hired, you will optimise for these things over time, but remember that that's what a CV and a portfolio are for.
Do what you want, and write everything else for later.
This is not a client project – take advantage of that! You can do whatever is the most fun to you, and the other aspects of the website can wait. One day, they will bug you long enough that you'll get around to fixing them, but if you just try to make it optimal from the start you'll burn out very quick, since unlike your job there is no reward in doing what's right over what's fun here.
It's your own little product. Iterate.
Although it's not a client project, it's still a product you're creating – even if just for yourself. Treat it as such. Go back when you think something doesn't work, try different things, scrap it all and redo. Just try to resist the urge to remove what you worked on earlier before you have something new to show for it. I'm sure the people who check your site out will appreciate it and won't see all the flaws you see. Remember, you're the only one who's been staring at this project for as long as you have.
Use it as a study.
This is more of a general tip and not tied to personal websites, but use these chances to practice new things, whether it's hard skills such as a new tech stack or other things tangential to your job as a developer, such as design, writing or experimenting with trends. A lot of my keeping up with the times in software development has been made through for-fun projects, since I gave myself a reason to study.
Conclusion
If you like what you do, you'll probably find it fun to do it for yourself. It's why most of us developers make our own websites sooner or later. It's okay if you try it and don't like it as well. But no matter what you do, remember personal projects are about you in the first place. Everyone else will see what you tell them to see, and not everybody has to like the things you make, so make the most of this chance.
However, it's still something I feel strongly about, so I'm probably going to become the dinosaur developer that still writes TypeScript even though it's 2057.
Footnotes
-
I ended up getting a lot of vindication from that take in the past five years. ā©