Phil Wolstenholme @wolstenhol.me · 26/06/2026I'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/2026I 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/2025Neat 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: 020
Phil Wolstenholme @wolstenhol.me · 18/09/2025Also, black tape pagination buttons, because why not? 000
Phil Wolstenholme @wolstenhol.me · 18/09/2025New 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! 141
Phil Wolstenholme @wolstenhol.me · 11/07/2025Lodash 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! 020
Phil Wolstenholme @wolstenhol.me · 13/11/2024Oooh 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! 120
Phil Wolstenholme @wolstenhol.me · 31/10/2024Made 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