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 · 06/11/2025
Other than @devongovett.me 's work on React Spectrum/ARIA are there any other good sources on 'how to make nice full screen UI' for iOS 26? I've found some base-ui PRs but are looking for more examples. I've gotta make a full screen mobile nav full-screen again…
020
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 · 08/10/2025
Team size changes, project work, and winter sickness has meant that we're sometimes running as a pair rather than a small mob/ensemble at work. I've never done much pairing! Are there any particularly good blog posts, talks, or books on doing it well and/or different approaches to try?
010
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
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 · 17/09/2025
I'd almost completely forgotten about a talk I gave in the depths of Covid for DrupalCon EU. I've just found a blog post I wrote (on a Medium account that I'd also forgotten about!) after getting my session feedback back and I'm feeling nostalgic: philwolstenholme.medium.com/my-drupalcon...
philwolstenholme.medium.com
My DrupalCon Europe 2020 session feedback
Back in December I gave a talk on using Tailwind with Drupal, and why, for me, it makes sense in an agency environment where long-running…
040
Reposted by Phil Wolstenholme
Loren Stewart | Cheddy @cheddybop.bsky.social · 11/08/2025
This post is the culmination of my thinking about (and building) SPA-like apps w minimal JS for the last 2 yrs The ideas are informed in large part by the @infrequently.org blog posts and talks Thanks @htmx.bsky.social and @astro.build for building great tools. www.lorenstew.art/blog/progres...
lorenstew.art
A Progressive Complexity Manifesto | Loren Stewart
A manifesto for progressive web complexity. Reject the false binary between static sites and SPAs. Embrace the powerful middle ground with server-rendered HTML, HTMX, and intentional complexity escala...
4275
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 · 15/04/2025
This is a glorious blog post on the history of rendering web pages, how to write a BFF very neatly, returning a representation of UI from a server – and how you might end up inventing React Server Components if you think about these things for long enough:
080
Phil Wolstenholme @wolstenhol.me · 10/02/2025
Nice article: blog.nelhage.com/post/persona... Some key points: the person knows what they are doing, the LLM is speeding them up, but when there's a hiccup they can get back on track with their own skills, and the software they are generating is only their responsibility to maintain.
blog.nelhage.com
Building personal software with Claude
Earlier this month, I used Claude to port (parts of) an Emacs package into Rust, shrinking the execution time by a factor of 1000 or more (in one concrete case: from 90s to about 15ms). This is a vari...
020
Reposted by Phil Wolstenholme
meg 🌸 @cactusflamingo.bsky.social · 31/12/2024
I blogged about what my testing workflow is like now that I'm one of those developer creatures: cactus-flamingo.ghost.io/a-software-e...
cactus-flamingo.ghost.io
A Software Engineer in Testing: How I Build Quality In
If you're familiar with my journey, you'll know I made the transition to a software engineer role around 6 months ago, after being a QA engineer in various forms for the best part of a decade. Part of...
102910
Phil Wolstenholme @wolstenhol.me · 07/12/2024
Locked in
050
Reposted by Phil Wolstenholme
Manuel Matuzović @matuzo.at · 01/12/2024
It's December 1st, and you know what that means: For the next 24 days, we'll publish articles about HTML by 24 authors. You can read them on the website or subscribe to the RSS channel. Enjoy! htmhell.dev/adventcalend...
htmhell.dev
HTMHell Advent Calendar 2024 - HTMHell
An article, talk, or tool that focuses on HTML every day until Christmas.
2288123
Phil Wolstenholme @wolstenhol.me · 24/11/2024
Just picked this up
110
Phil Wolstenholme @wolstenhol.me · 23/11/2024
Absolutely this, Knip probably saves me and my team about twice a week from leaving dead code in the codebase, exporting things that don't need to be exported, forgetting to remove a library from package.json when we stop using it in code – that sort of thing
4101
Reposted by Phil Wolstenholme
Jhey ʕ·ᴥ· ʔ @jhey.dev · 22/11/2024
Scroll gallery effect using CSS grid and scroll-driven animations ✨ - split images into layers - lay out images in stacked layers with same grid structure - animate the size of the center image - animate the layers to reveal with different timings
1132724
Phil Wolstenholme @wolstenhol.me · 20/11/2024
I tried moving from Lodash to `es-toolkit/compat` (as a stepping stone) but now it looks like Webpack is pulling in www.npmjs.com/package/buffer and its dependencies (62.93kb!) so my bundle size has _increased_. I think it's github.com/vercel/next.... from @nextjs.org causing mischief 😭 @leerob.com
npmjs.com
buffer
Node.js Buffer API, for the browser. Latest version: 6.0.3, last published: 4 years ago. Start using buffer in your project by running `npm i buffer`. There are 9127 other projects in the npm registry...
010
Phil Wolstenholme @wolstenhol.me · 14/11/2024
Very envious of all the #perfnow posts!
160
Reposted by Phil Wolstenholme
Ahmad Shadeed @ishadeed.com · 12/11/2024
🚀 New Interactive Article: Overflow Clip Explore how overflow: clip works in CSS and see why it’s useful with practical examples and demos. 🔗 ishadeed.com/article/over...
012834
Phil Wolstenholme @wolstenhol.me · 12/11/2024
Has anyone ever seen Safari render a page correctly (visually/layout speaking) but all the touch tap targets are offset? Only reproducible when Safari has been configured to show the address bar at the top of the screen, and only when a particular style of Flexbox-based modal is open? #frontend
100
Reposted by Phil Wolstenholme
HTTP Archive 💾 @httparchive.org · 11/11/2024
🚨 Introducing the 2024 Web Almanac, our annual "state of the web" report! 🔖 almanac.httparchive.org/en/2024/ 21 chapters (11 publishing today, the rest to follow) 65 contributors for today's chapters (more to follow) 17M websites analyzed 83 TB of data processed 628 queries written
almanac.httparchive.org
The 2024 Web Almanac
The Web Almanac is an annual state of the web report combining the expertise of the web community with the data and trends of the HTTP Archive.
57039
Phil Wolstenholme @wolstenhol.me · 11/11/2024
I'm not sold on the colour scheme yet but as of last night wolstenhol.me is now showing Bluesky posts where it used to show Twitter posts 🙌. I just need to post some photos and videos so I can make sure it handles those okay, the old approach used a lightbox for photos and could play videos inline.
010
Phil Wolstenholme @wolstenhol.me · 10/11/2024
If anyone in the UK is looking for a simple but good beans-to-cup coffee machine then this is the one I've had for three years now, and £399 is a great price! www.techradar.com/home/coffee-...
techradar.com
I test coffee machines for a living, and this Smeg espresso machine is the best Black Friday deal I've seen so far
With £300 off, this is the cheapest this bean-to-cup machine has ever been
000
Phil Wolstenholme @wolstenhol.me · 09/11/2024
I'm sick, which obviously means it's time to rebuild wolstenhol.me in Astro, mainly just because my current site won't build anymore due to hitting the max environment variables size limit on AWS/Netlify Functions… I should probably just try and fix that first, right?
wolstenhol.me
Phil Wolstenholme's personal website, blog and portfolio
Phil Wolstenholme's personal site
110
Reposted by Phil Wolstenholme
A L I E N Cerny @alancerny.bsky.social · 06/11/2024
This may be helpful for you new followers. You can block every single person on these lists. Just click on the subscribe button and it will give you the option to block every one on it. Here’s the first: bsky.app/profile/did:...
15241546110988
Reposted by Phil Wolstenholme
Syntax @syntax.fm · 02/11/2024
I just spent way too long adding every guest to a Syntax starter pack If you want to follow the best devs in web development 👇🏻 go.bsky.app/SoASbQA
2421442
Reposted by Phil Wolstenholme
Lars @webpro.nl · 31/10/2024
✂️ Support the mission to automate code maintenance and make it more fun by nominating Knip! Eternal gratitude will come your way uncluttered 🫶 syntax.fm/oss
syntax.fm
$50,000 for Open Source - Syntax
Syntax is Pledging $50,000 to open source projects.
032
Phil Wolstenholme @wolstenhol.me · 31/10/2024
This is very very cool, a native feeling swipe-to-dismiss modal sheet but all with CSS and a touch of JavaScript, not a Framer Motion in sight! codepen.io/jh3y/pen/LYw...
071
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
Reposted by Phil Wolstenholme
Sia Karamalegos @sia.codes · 28/10/2024
I'm building a web perf starter pack but I'm still looking for folks to add - please let me know who I'm missing because I haven't found them all on bsky yet go.bsky.app/RVWSVqe
107431
Reposted by Phil Wolstenholme
emma zhou @emmz.bsky.social · 25/10/2024
does everybody know about my favorite website, the embroidery tips page that forgot to close its <h3> tags
web.archive.org
Embroidery Trouble Shooting Page
Embroidery Trouble Shooting Answers to all your questions about Embroidery problems
34780573473
Phil Wolstenholme @wolstenhol.me · 26/10/2024
Similar to what I'm feeling. Never got on with Mastodon (a bit too self-congratulatory) and persevered with Twitter but would much rather be on a better platform if the content/community/audience is there
170