About this website
Why it exists
This website is a reason and a canvas for me to try new stuff. It gave me an opportunity to explore view transitions, shapes, explicitly defined named properties and discrete interpolation for animations.
It is also a way for me to practise what I preach, with a no compromise version of what I hold to be true. A platform for me to use named grid lines for the layout, a single structured CSS file, no framework or pre-processing, minimal Javascript…
Finally, it is a way for me to develop my expertise farther than what my current professional project allows. There is so much fascinating stuff in the CSS specification, but we often end up using the same properties over and over again. It is often financially more valuable to deliver more features using what we already know than it is to explore and deliver an improved user experience.
Themes
Rainbow Blob
Explosion of colors
This theme is entirely built around the "blob" shape on the front page. I first tried to create the shape myself but that shit is hard! I ended up using the blob generator by Temani Afif. To get the breakout effect on my head, I duplicated the shape and manually edited it to go all the way to the top of the image.
From that shape everything else flowed. The goal was to have a very colorful theme with slow, almost
imperceptible movement. The squiggly lines where supposed to be rounded, but given that the support for
polygon(round 2px) is not quite there yet, the shape will be very angular on most browsers
The colors and gradient were created with the help of the OKLCH color picker by Evil Martians and OKLCH grandient tool by Jakub Krehel
Typewriter (WIP)
Old-timey
The premise of this theme is the typing animation applied to my name. It is built around a monospaced font and pseudo-elements that "uncover" the content in as many steps as there are letters.
For this effect to work, you need to know, from the CSS, the length of the text you want to animate. Since there is no way as of 2026 to access the text content of the styled element or its length, I had to either specify the length directly inside the CSS—breaking the independence between CSS and HTML—or pass the length from the HTML to the CSS. Either way, this implies duplicating information which isn't ideal.
