Sign in

Phil Wolstenholme

@wolstenhol.me
283 followers 901 following 100 posts

Lead front-end eng @CoopDigital. Interested in the web (front-end, #a11y, performance), environment, bikes (everyday/utility) and science. @philw_@hachyderm.io

PostsRepliesMedia
Phil Wolstenholme @wolstenhol.me · 26/06/2026
I'm building a newer version of my personal site using Astro (wolstenhol-astro.netlify.app). It fetches some reading list items at build time and then some at request time once you start paginating. It looks like each time I fetch the Chrome for Developers blog I'm getting a different language 😁
000
Phil Wolstenholme @wolstenhol.me · 17/06/2026
I show a little genre roundup on my website of what I've been listening to recently (the screenshot is a snapshot from a year or three ago) and I really miss the old genre names :(
120
Phil Wolstenholme @wolstenhol.me · 23/10/2025
@jensimmons.bsky.social @saron.bsky.social @jondavis.bsky.social – do you know why using this CSS would cause flickering? It's across devices and iOS versions: ``` :where(:root) { --vpc-loader-height: 23.75rem; } content-visibility: auto; contain-intrinsic-size: auto var(--vpc-loader-height); ```
310
Phil Wolstenholme @wolstenhol.me · 28/09/2025
Neat little feature on my new personal site: use the `Sec-CH-UA-Mobile` header (or UA sniffing 😔) to know the device type during SSR and show fewer items per page. This saves mobile users from having to scroll past giant stacked lists that would be in a nice grid on desktop:
https://gist.github.com/philwolstenholme/fff89398fd02f0032859c9a3a60cfc94
020
Phil Wolstenholme @wolstenhol.me · 18/09/2025
Also, black tape pagination buttons, because why not?
'Previous' and 'Next' buttons using black masking tape as their background image
000
Phil Wolstenholme @wolstenhol.me · 18/09/2025
New feature on the redesign of my personal site (wolstenhol.me) – show when its the birthday of a repo I've starred on Github. Happy anniversary for oRPC, @unnoq.com!
A very close up and cropped screenshot of a website card representing the 'unnoq/orpc' Github repo. The card shows a repo description, its number of stars, its language, and a birthday cake emoji next to the next '1 year old this month'
141
Phil Wolstenholme @wolstenhol.me · 11/07/2025
Lodash with imports from `lodash/package`: 151.16kb `es-toolkit`: 3.88kb Tests passing, TS happy, linter happy. There's a bundle size reduction, a speed increase, and we can drop the Lodash ESLint plugin and `@types/lodash` too 🙌 Thanks github.com/toss!
Bundle size comparison table showing the `lodash` package being removed (saving 151.16KiB) and `es-toolkit` being added at a cost of `3.88KiB`
020
Phil Wolstenholme @wolstenhol.me · 13/11/2024
Oooh fun! These are my main bikes, a £80 second hand bike that is exactly one year (to the month) older than me (I've since spent many times that on sprucing it up), my Brompton with optional beer crate cargo hack, and a Gazelle for when speed is not a priority but cruising in comfort is!
1980s British style bike in grey, with tan leather Brooks saddle, cream tyres with grey pannier. The bike is propped against a tree in a green space and there is a bunch of balloons tied to the handlebars.Red Brompton folding bike with black Brooks saddle. A blue beer crate with a German beer brand's name is attached to the front of the bike.Black and grey Gazelle upright Dutch style bike with a metal front basket and black Brooks leather saddle. The bike is monochrome apart from a very pale green accent and the yellow of a Kryptonite New Yorker lock tucked into the bike frame.
120
Phil Wolstenholme @wolstenhol.me · 31/10/2024
Made a cute bit of UI to switch between Adobe Target A/B test experiences in server-side rendered HTML. It's all managed with React Server Components and API calls to save us having to load a tonne of Adobe's third party JavaScript and still suffer layout shift and flicker.
230