History behind Dennis Claassen.nl

✴︎

✴︎

✴︎

Reading time: 4 minutes

I often receive the question why I have this personal website, Dennis Claassen.nl. The short answer is that I want have my own place where my resume lives. But there’s a bit more to it.

So, why do I have my resume online? There’s 2 things: as a web developer I feel the need to have my own website. Second, I was feeding all this data to LinkedIn and I wanted the ownership of this data myself.

The LinkedIn sync

At the time, I was working at Uitzendbureau.nl and we were investigating hooking up user profiles to their LinkedIn accounts. This would allow us to retrieve some professional info that the user wouldn’t have to fill twice. This sparked the idea for the first version of my own website: Using LinkedIn as my resume focused CMS system to power the data on my own website.

After a while of running this set up, a change occurred for LinkedIn. They started closing up their API and it became harder to update my resume in such an automated approach. I also realized I wasn’t updating my LinkedIn profile (my resume) that often. And when I would update, I’d have issues with the synchronization. Issues in the connection, changes in their API, new LinkedIn data sections that I hadn’t built support for. Since my personal homepage ended up as a static website with the exact same content for extended periods of time, I ditched the whole LinkedIn connection and decided to go to a statically generated website.

The source code is still available today on https://github.com/d-claassen/dennisclaassen.nl.

Statically generating Dennis Claassen.nl

At the time, GitHub Pages started getting traction and I decided to switch over. I copied the source code of my LinkedIn-powered website, and pasted it in my new static website generator Jekyll. It created a couple of html files with css and that was it. No database, no data synchronization, just a single html page.

Over the years, the one-pager improved. Jekyll allows logic to be used in templates to base the html files generation on. For example, it supports for loops and conditional statements. It also supports YAML files as data source. So that single html file slowly transformed into a complete resume template powered by data in YAML files rendered conditionally and in loops.

Jekyll also supports blogging and can create static blog sites too, with all basics you expect from a blog. While improving my resume template, the Jekyll docs lured me to the blogging functionality. I didn’t write much posts, I was mainly interested in the whole system behind it.

The source code is still available today on https://github.com/d-claassen/d-claassen.github.io.

Publishing with WordPress

Then I joined Yoast. The name Yoast goes hand in hand with the name of WordPress. WordPress is a CMS for blogging. But for my blog with 2 pages and my resume, a CMS like WordPress is just overkill. Like taking your power tools to hammer a single nail. So why is my move to Yoast relevant? I got in touch with SEO, and with structured data and Schema.org markup. I wanted to describe my website this way, to make it better understandable to the search engines. Since all resume data had moved to YAML files, I had the data setup so I could duplicate relevant parts describing my website and its 4 webpages in a structured data solution.

After having hand-written the structured data line-by-line, I started to see some bears on the road. I realized this wouldn’t scale well, was quite cumbersome to write, and was also hard to adjust. The YAML files needed several iterations to end up in a structure where they worked for the resume and the structured data. That’s when I realized that if I want to scale this, I really need to use a power tool for a CMS. Luckily I’m now familiar with one, and know a great extension that allows a programmatical solution to generate the structured data. Yes, that’s WordPress + Yoast SEO.

But who knows what’s next for this little website. I’ll remain a web developer by heart, and any new encounters between me and web technologies might cause the next pivot of this website. Some days I feel like a young puppy chasing any and every ball that catches my attention.