June 6, 2023

Blog

The website redone a thousand times

I've worked on this website, or at least its various iterations, for nearly 10 years. This time, taking advantage of a rare and short period of free time, I decided to get over my natural relfex and deploy.

Being a long-time freelancer, I've got used to these periods between mandates, during which I get a little bit of free time to put into more personal projects and discover new technologies. It goes without saying that I'll avoid doing the same thing I just did in my previous mandate, to vary the pleasures and stay up to date.

Personal website, the perpetual project

My personal website is one of these projects I've been working on for a long time. Since these free periods are spaced out in time, I find myself before a great number of news tools or new approaches to try (my domain evolves radically quickly). Rethinking about it, I realize that I had started and abandoned the work on this site a good dozen of times. I tried, over the years, to make it using Rails (Ruby), on Laravel (PHP), with Strapi (JS) or even, I admit it, with Wordpress (PHP). I tried the server-rendered approach or a web application with JSON interface. I used a commercial Bootstrap theme, Pico.css, or a 100% home-made design, despited my totale absence of esthetic sense. I trired Vue, React, or even AngularJS (when I was telling you it's been a long time...). Every reiteration, I would try a new combination that appeared either new and fun, simple and quick to deploy or complex and full of challenges.

Everytime, I deployed nothing, I abandoned the project fot a few months and decided, upon coming back to it, to throw everything away and start over. But, by so doing, I think I harmed my motivation on other personal projects. Indeed, this blog so hoped for never seeing the light of day, I was always tempted to start over, instead of other ideas maybe more novel. I thus decided to change my approach this time over.

History of this iteration

This version was initially planned as an initiation to Sveltekit with a quick to setup API; I had chosen Strapi for that purpose. To go quicker on the design level, I had bought a very simple commercial template that I would adapt. Started very slowly a the beginning of 2022, I could advance significantly in May of the same year, after a succession of team training in February and March, more demanding in efforts and time. Many months pass and it is not before October that I finally got back to it.

What wasn't my surprise to discover that Sveltekit had been modified extensively between its beta version and its first published version, which required important modifications. Because of the time between the two work periods, it was bound to happen. In parallel, I discovered the limitations of Strapi and I was realizing that its deployment would be complexe and that its apparent simplicity hid other difficulties on that front. Instead of going into a more ambitious rewrite which would have possibly moved back the website release in perpetuity, I decided to change direction for the API and use a technology that I already knew very well with some small variants: the Laravel framework, with Orchid to build the interface.

Followed another long pause period, and at last, last month, I complete what remains to be done and decide to publish the work as is, even if it isn't exactly to my taste, or exactly finished. I had to finally beat my reflex of not publishing my work because of misplaced perfectionism or because new, more interesting approached had appeared. Considering the little time that I have, I had to resign myself to it: a bird in the hand is worth two in the bush.

Result evaluation

Does this site meet the initial objectives? Yes, absolutely: I now have a personal presentation page, a contact form and a blog, all in French and/or English. I have the intention to feed this blog with a certain regularity with articles on my activities, my projects, my reflections, my readings, etc.

Does it meet the technical expectations? More or less, but I had a very good experience with Sveltekit, which encourages me to try this tool again in a more ambitious project.

There remains a lot of work to be done, but the hardest step has been taken, the first one.