• Demo

    Scroll Timeline Parallax Effect

    I’ve been playing around with scroll-driven animations a bit lately. Scroll timelines allow us to link the progress of element’s animation to the progress of a scroll container, as I wrote about not long ago for MDN.

    Read more

  • Quick note

    Reality Check: A Series for Building Real Layouts

    Reality Check is a new article series from Set Studio that focuses on CSS layout with real-world case studies. Each issue takes a design from Dribbble (or a similar platform) and demonstrates how to code it in CSS in a way that plays to the strengths of the medium, rather than aiming for pixel-perfect recreations. As Andy says in the first article:

    Read more

  • Demo

    A Fun CSS Text Effect

    Today’s post is a quick one, but (hopefully!) a fun one! It’s a demo featuring a fun text effect, using background-clip: text and text-stroke. It’s not a new technique, but worth remembering.

    Read more

  • Demo

    Drawing Raindrops with CSS Gradients and Masks

    If you live in the UK like I do, you can’t escape the fact that it’s been a wet few months. Since today had been yet another rainy day, I was inspired to see if I could create a rainy background with CSS.

    Read more

  • Quick note

    Thoughts on UX Engineering

    This post on the role of a UX Engineer by Donnie D’Amato was published almost a year ago, but has cropped up in my feed today. UX engineering is something I identify strongly with, as I suspect do many of my friends on the front-of-the-front end. Like Donnie, I’m from a design background, but cared a lot about how things were built, as well as how they looked and the function they performed for the user. I gradually made the transition to a more technical role over time, by dappling in front end development in my spare time. I’ve since gained a fair bit of experience in “back-of-the-front end” development, but “front-of-the-front end” is where my heart lies, and so the title of “UI and UX Engineer” is one that I can identify with.

    Read more

  • Using Flow Diagrams to Manage State in Complex Applications

    A few days ago I blogged about managing state in Vue apps with Vuex modules. I’m currently grappling with some fairly complex state management in a Vue app, and I wanted to share a bit about my process and how I’ve made it more manageable.

    Read more

  • Published on MDN

    Getting Started with Container Queries

    As of this year, container queries are supported in all major browsers. But what are they, and how can we use them to build more robust, flexible layouts? Do we still need media queries? Let's find out.

    Read it on MDN

  • Quick note

    The Joy of Lists

    I’m a big fan of lists. I like to think of myself as a fairly organised person. I make lists for a lot of stuff, at work and home, and get a little kick out of crossing things off. Yes, I’m one of those people who add tasks to a list post-completion, just for the pleasure of seeing it crossed off. This sounds completely pointless, but it’s actually a good motivator! I’m more motivated to tackle the rest of the list if I already have the sense of achievement that comes from already-completed tasks.

    Read more

  • Demo

    Radial Gradients and CSS Trigonometric Functions

    I’ve been playing around with layering radial gradients in CSS to create flower shapes, with the help of CSS trigonometric functions. For a primer on what trigonometric functions are, and why they’re useful in our code, I’ve written a three-part series for Codrops.

    Read more

  • Better Vue Application State Management with Vuex Modules

    If you use Vue you might be familiar with the state management library Vuex. It used to be the state management library recommended by Vue, until the team developed Pinia. But lots of applications still use Vuex, including the one I work on. This post contains some tips for handling state in a Vue app with Vuex. Some familiarity with building with Vue and Vuex will be assumed.

    Read more

  • Quick note

    Programming as a Craft

    Last week I had the pleasure of attending FF Conf in Brighton. I was partly inspired to go to the conference after watching a talk from last year’s event: Programming With Yarn by Lily Madar.

    Read more

  • Stop Using AI-Generated Images

    Recently I’ve been doing some front end development work for a lovely project that showcases original short stories submitted by writers and climate change activists. Most of the stories are accompanied by an illustration specially created by an artist. One story did not have an accompanying image, so the author suggested using an illustration produced by an AI image generator.

    Read more