Jacob "kurtextrem" Groß
kurtextrem.de
Jacob "kurtextrem" Groß
@kurtextrem.de
Staff Performance Engineer @Framer · webperf/UX/AI and the Core Web Vital INP are my interests. ex. gamer · @kurtextrem on other platforms.
Reposted by Jacob "kurtextrem" Groß
Blink: Intent to Ship: Deferred imports evaluation ("import defer")
Blink: Intent to Ship: Deferred imports evaluation ("import defer")
Blink: Intent to Ship: Deferred imports evaluation ("import defer")
groups.google.com
September 14, 2026 at 4:20 PM
Reposted by Jacob "kurtextrem" Groß
the worst part about talks is writing talks

the best part about writing talks is finding all the oopsies in the code being talked about

and thus, I now have PRs to make the TS AST 2% smaller, the parser 10% faster, the binder 1.5% faster
July 27, 2026 at 5:12 PM
Turns out there is another reason to get rid of barrel files in web dev: Agents waste time & tokens reading those modem.dev/blog/how-cod...

No better time to remove barrel files than now.
July 24, 2026 at 5:57 PM
Reposted by Jacob "kurtextrem" Groß
A long, long, long road, but `clip-path` animations are about to be GPU accelerated in Chromium:

issues.chromium.org/issues/40503...
Chromium
issues.chromium.org
July 14, 2026 at 7:26 PM
@jakebailey.dev On X @fabiospampinato.bsky.social found a case where tsgo is slower than TS in a specific case: x.com/i/status/207..., is that interesting for you?
Fabio Spampinato (@fabiospampinato) on X
@kurtextrem tsgo is even slower somehow https://t.co/bymHJCfEMz
x.com
June 29, 2026 at 5:38 PM
Reposted by Jacob "kurtextrem" Groß
Speeding up the JS ecosystem OXC edition 🚀

We made both oxfmt and oxlint 50% faster on projects with >50k directories.

marvinh.dev/blog/speedin...
Speeding up the JavaScript ecosystem - oxlint and oxfmt
Future versions of oxlint and oxfmt will be ~50% faster on projecs with many (>=20k) directories.
marvinh.dev
May 17, 2026 at 8:54 PM
I started migrating the main monorepo at @framer.com to @voidzero.dev's oxlint. Speed difference is day and night.

For 420 enabled rules (including typescript-eslint rules), without cache:
eslint: 3m58s | 21 GB RAM
oxlint: 0m46s | 4.6 GB RAM (oxlint) + 6 GB tsgo

🚀5x faster, 2x less RAM usage
May 3, 2026 at 7:48 PM
Chrome will soon have a way to cache the compilation result of inline scripts (bytecode). Wow!

chromestatus.com/feature/5132...
May 1, 2026 at 6:59 AM
Reposted by Jacob "kurtextrem" Groß
Blink: Intent to Prototype: Lazy loading for video and audio elements
Blink: Intent to Prototype: Lazy loading for video and audio elements
Blink: Intent to Prototype: Lazy loading for video and audio elements
groups.google.com
February 5, 2026 at 7:00 PM
Reposted by Jacob "kurtextrem" Groß
How's the mobile CPU landscape evolving? Thanks to process node improvements, a mid-range Android from 2025 is (finally!) as fast as 2017's iPhone 8, but a low-end (~$100) smartphone isn't yet as speedy as a decade-old iPhone 6s.
November 21, 2025 at 10:51 PM
@ricky.fm When you have multiple (unrelated) expensive components running transitions to update, how could you "flush" some transitions individually instead of batching? (apart from making each comp faster to render)
November 8, 2025 at 1:43 PM
Reposted by Jacob "kurtextrem" Groß
💫 When performance experts choose WebPerformance Report to simplify and share their insights, it reinforces our mission to make data more actionable for everyone.
Thank you, Jacob @kurtextrem.de, for trusting WPR to bring clarity to web performance. ⚡
👉 webperformancereport.com#Testimonials
#webperf
November 3, 2025 at 6:41 PM
#PerfNow has incredibly interesting talks. Anyone who's serious about performance should join.
Proud that we at @framer.com are sponsors.
October 31, 2025 at 3:01 PM
Reposted by Jacob "kurtextrem" Groß
Belated hi from @perfnow.nl! Come talk to us (me & @kurtextrem.de) about React performance, Framer sites, LCP/INP and more :D
October 31, 2025 at 10:05 AM
Reposted by Jacob "kurtextrem" Groß
Senior performance engineer @kurtextrem.de talks about Framer's journey to adopting Rolldown and the chunking configurations used in production.

Full video in comments⏬
October 22, 2025 at 2:30 AM
⚛️ReactConf once again mentioned concurrent stores. What if I tell you, we have concurrent external stores today? (kinda)

My latest blog post explains:
👉 How to to pair `useSyncExternalStore` with `useDeferredValue` (and `useMemo`)
⚡ Why this can improve UX & INP during hydration
October 17, 2025 at 4:15 PM
My first big stage & first LinkedIn live stream appearance is today, 10:55 @ ViteConf.
I'll talk about how Framer integrated VoidZero's new web bundler Rolldown. Plus, some things about performance and why you should still bundle in 2025.

Tune in (free):
www.linkedin.com/events/73138...
LinkedIn Login, Sign in | LinkedIn
Login to LinkedIn to keep in touch with people you know, share ideas, and build your career.
www.linkedin.com
October 9, 2025 at 6:44 AM
Reposted by Jacob "kurtextrem" Groß
ICYMI, I keep updated recommendations for low-spec testing devices here:

infrequently.org/links/#hardw...
Links, Resources, and Humans of Note - Infrequently Noted
Alex Russell on browsers, standards, and the process of progress.
infrequently.org
September 19, 2025 at 7:50 PM
PSA: There's an open bug in React 19.1 that emits a `` for every single `` tag on a page when you SSR: github.com/facebook/rea....

This can result in *tons* of preloads that are bad for LCP and also wastes network bandwidth/data.
August 25, 2025 at 4:55 PM
Reposted by Jacob "kurtextrem" Groß
The semver library used in npm, yarn and pnpm could be made 33x faster.

Ran into that while wondering why running `npm install` takes so long on the Preact repo.

marvinh.dev/blog/speedin...
Speeding up the JavaScript ecosystem - Semver
During the installation process, package managers run a bunch of semver comparisons. The semver library used in npm, yarn and pnpm can be made around 33x faster.
marvinh.dev
August 10, 2025 at 8:34 AM
Reposted by Jacob "kurtextrem" Groß
performance.now(), the web performance conference, 30th and 31st of October, Amsterdam. Single track, the best speakers in the industry, plenty of your performance-mad peers around to have fascinating conversations. What's not to like? Let's introduce our speakers ...
perfnow.nl
performance.now(); 30th and 31st of October, Amsterdam
On 30th and 31st of October, 2025, the sixth edition of performance.now() will take place in Amsterdam—a single track conference, covering today’s most important web performance insights.
perfnow.nl
June 25, 2025 at 12:35 PM
Reposted by Jacob "kurtextrem" Groß
⚡ Lighthouse (incorrectly) punishes preloading

If you’re like me, you probably struggled with Lighthouse scores at least once. “I already optimized everything; why is my score still yellow?”

Often, the cause is there’s more to optimize. But sometimes, it’s Lighthouse itself.
June 12, 2025 at 10:46 AM
Chrome 136+ ships a new V8 version that supports a "compile hint", which makes V8 parse and compile all functions in that file eagerly.

Great for entry points – where you know all functions will very likely be used. Less so as 'one weird trick to make all your JS faster'.
April 30, 2025 at 7:13 AM
Did you know that jQuery outperforms React, what? 😳

Sounds like clickbait, but is reality. The HTTP Archive shows 82% of sites that use jQuery have good INP on mobile📱, while only 67% do when they use React⚛️.

Not just sites, also libraries. Let's fix that👇#webperf
kurtextrem.de/posts/improv...
How To Improve INP: React⚛️
All-in-one guide for improving Interaction-to-Next-Paint (INP) Core Web Vital in React applications. Introduces the useAfterPaintEffect hook.
kurtextrem.de
December 2, 2024 at 4:07 PM