Ryan Townsend
banner
twnsnd.com
Ryan Townsend
@twnsnd.com
Technology Leader & Distinguished Software Engineer • 20+ YOE in Tech, 10+ as CTO • Public Speaker • LessonsofaCTO.com & TWNSND.com
Pinned
This is a fun one: what a 1990s PlayStation game studio taught me about software engineering 🎮 youtu.be/86bnEALGiDY
Software Engineering Insight from 1990s PlayStation Game Development
YouTube video by Lessons of a CTO
youtu.be
Incredible line-up for 2026's All Day Hey. Get your ticket 👉 ti.to/hey-presents...
With talks from an international line-up:

• Bramus Van Damme (Google)
• Léonie Watson (Tetra Logical)
• Fiona Safari (Tesco)
• Jake Archibald (Firefox)
• Alistair Shepherd (Series Eight)
• Cassie Evans (GSAP/Webflow)
• Phil Hawksworth (Deno)

ti.to/hey-presents...
December 8, 2025 at 9:55 AM
Hello from 3200m, -15°c

📍Les Deux Alpes glacier
December 5, 2025 at 2:28 PM
Firefox 147 is getting the Navigation API 🎉 🎉 🎉

See bugzilla.mozilla.org/show_bug.cgi...
1997962 - Ship Navigation API
RESOLVED (afarre) in Core - DOM: Navigation. Last updated 2025-11-13.
bugzilla.mozilla.org
December 2, 2025 at 10:06 PM
OMG YES. This has been so needed.
Chrome 144 features a small change to #CSS overscroll-behavior: it now also works on non-scrollable scroll containers. While this change might seem trivial, it fixes an issue people have been dealing with for ages: prevent a page from scrolling while a is open.

www.bram.us/2025/11/25/u...
Use overscroll-behavior: contain to prevent a page from scrolling while a <dialog> is open
Chrome 144 features a small change to overscroll-behavior: it now also works on non-scrollable scrollers. While this change might seem trivial, it fixes an issue developers have dealing with for ages:...
www.bram.us
November 25, 2025 at 10:24 PM
Got my ticket to @pixelpioneers.co 2026 – early bird, student and diversity tickets are available now: pixelpioneers.co/events/brist...

Support your local/national events by buying early! ❤️
Pixel Pioneers Bristol – 19 June 2026
An affordable one-day conference for front-end developers and UX/UI designers, featuring eight practical and inspiring talks delivered by world-class speakers.
pixelpioneers.co
November 25, 2025 at 1:18 PM
This is desperately needed on iOS.
On the Edge team, we think web apps should be easier to install.
The default browser install button is great, but we'd like something which you can use on your own site, how and when you want it.

That's why we're proposing the Web Install API, which you can now test!
The Web Install API is ready for testing
We're happy to announce that the Web Install API is now ready for testing on your own site, as an origin trial in Microsoft E
blogs.windows.com
November 24, 2025 at 5:29 PM
Reposted by Ryan Townsend
The "i" in "iPhone" stands for "inequality", late 2025 edition:
November 18, 2025 at 3:51 AM
Implemented shared compression dictionaries [1] on an @11ty.dev site.

Nothing in production to share yet, but shows HTML responses being ¼–⅓ the size of @netlify.com's dynamic Brotli-compression.

~4-6kb per page inc. inlined CSS, before any tuning 🤯

[1]: chromestatus.com/feature/5124...

#webperf
Chrome Platform Status
chromestatus.com
November 17, 2025 at 3:35 PM
Firefox 147 should land the Navigation API 🙌🏻 🙌🏻 🙌🏻 bugzilla.mozilla.org/show_bug.cgi...
1997962 - Ship Navigation API
RESOLVED (afarre) in Core - DOM: Navigation. Last updated 2025-11-13.
bugzilla.mozilla.org
November 13, 2025 at 7:31 PM
Reposted by Ryan Townsend
I can't describe how much I love this conference and how sad I am that this is the last one.

If you've ever thought it looks good and you want to try it, *now* is the time to do it with the cheapest tickets.

Trust me, you won't be disappointed. See you there?
🚨 Announcing All Day Hey! 2026. Celebrating ten years of the conference. The final one. Let's go!

A curated conference for curious developers, designers, and technology leaders.
November 12, 2025 at 8:48 AM
Not only did @bram.us solve my problem (combining Scroll Driven Animations with @starting-style) but he even blogged about it 👏 All within 24 hours.

If I had one, my gratitude journal would mostly be a list of Bluesky handles 😅
bram.us Bramus @bram.us · Nov 6
Blogged: www.bram.us/2025/11/06/c...

(There is still 1 part that has gotten me scratching my head myself … I’m hoping to get some clues from engineering on _why_ a certain thing is the way it is)
Combining Scroll-Driven Animations with @starting-style
How the cascade, the animation-fill-mode, and implicit keyframes make things a bit more complicated then you’d initially think …
www.bram.us
November 6, 2025 at 1:25 PM
@bram.us is there any way to combine scroll driven animations with starting-style? e.g. to have something fade-in on page load with starting-style, but then have its scroll container apply an animation which operates on opacity?

I need the `@starting-style { opacity: 0 }` to take priority, I guess?
November 4, 2025 at 10:46 PM
When you have poor signal, the Bluesky app becomes more true to its name.
November 3, 2025 at 12:57 PM
Reposted by Ryan Townsend
Fellow #perfnow fellows, a reminder that PerfPlanet calendar is coming this December for another edition. And it needs YOU. Please ask if you have any contribution ideas or concerns calendar.perfplanet.com/contribute/
Contribute
Passionate about a topic? Working on a new tool? Have a technique you want to teach? Research you've done? Tell the web performance community! Send your articles to [email protected]. Please include: ...
calendar.perfplanet.com
October 30, 2025 at 4:59 PM
In my opinion, any SWE writing client-side JavaScript has a responsibility to understand the Event Loop.

@jakearchibald.com’s ‘In The Loop’ talk is required watching: www.youtube.com/watch?v=cCOL...

(cited by @andydavies.me at #perfnow)
October 31, 2025 at 9:24 AM
“~200 bytes of JavaScript that can wreck your performance” – @andydavies.me explaining download size doesn’t always correlate to runtime performance at #perfnow

#webperf
October 31, 2025 at 9:16 AM
“What happens when you want to center a div in Chrome?” — @michael-hladky.bsky.social at #perfnow

This would make a great interview question that would give a variety of different answers.

#webperf
October 30, 2025 at 11:33 AM
Northern UK developers: join us tonight in Manchester for a talk on scaling to support hundreds of millions in client transaction volume.

It contains a lot of framework-agnostic advice, so non-Ruby developers stand to learn a thing or two too!
October 16, 2025 at 10:34 AM
Safari TP 230 includes support for Largest Contentful Paint 🙌 #webperf
October 15, 2025 at 9:27 PM
Reposted by Ryan Townsend
Just one week to go until our next event! Come hear @twnsnd.com share his story – Millions on Rails: A Two-Decade Retrospective on Scaling With Rails
nwrug.org/events/milli...
NWRUG Event: Millions on Rails: A Two-Decade Retrospective on Scaling With Rails, Thursday 16th October
This month, Ryan Townsend will be sharing stories about how he started, scaled, and liquidated a Rails-based startup that at its peak reached £5M ARR: Ryan h...
nwrug.org
October 9, 2025 at 7:13 PM
Is this mob programming?
October 9, 2025 at 12:02 PM
Reposted by Ryan Townsend
At #fronteers #DarkMode, @utilitybend.com proposed the HTML Element.

It unlocks the multi-handle range slider, a pattern you might have already seen when picking a price-range.

Feedback Form (with links to the explainer and demos): docs.google.com/forms/u/0/d/...
October 3, 2025 at 4:24 PM
Reposted by Ryan Townsend
messenger.abeto.co

This is freaking insane. The level of polish necessary for this visual fidelity and it all runs flawlessly on mobile. Hats off.
Messenger
It's a small planet, but someone's gotta make the deliveries.
messenger.abeto.co
October 2, 2025 at 9:49 AM
Looking forward to talking about scaling #RubyonRails to hundreds of millions of yearly client revenue @nwrug.org meetup on Thursday 16th in Manchester, my old university city 🙌

Come join us for free 👉 nwrug.org/events/milli...
NWRUG Event: Millions on Rails: A Two-Decade Retrospective on Scaling With Rails, Thursday 16th October
This month, Ryan Townsend will be sharing stories about how he started, scaled, and liquidated a Rails-based startup that at its peak reached £5M ARR: Ryan h...
nwrug.org
October 2, 2025 at 9:19 AM