Stoyan Stefanov 's Avatar

Stoyan Stefanov

@stoyan.me

stoyan.me, PerfPlanet, "JavaScript Patterns", "React: Up & Running", YSlow, SmushIt. Formerly of Facebook, WebPageTest, Yahoo

1,491
Followers
249
Following
367
Posts
23.12.2023
Joined
Posts Following

Latest posts by Stoyan Stefanov @stoyan.me

Preview
Quick and dirty linting This post is another installment of the series dedicated to building sightread.org. Parts 1, 2, 3, 4, 5, 6. I've been using TypeScript (actually JSDoc + tsc --noEmit) as my linter for a while. Well, ...

New blog in the series about building SightRead.org

www.phpied.com/quick-and-di...

13.02.2026 07:41 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Asymmetric time signatures - SightRead.org Blog Practice rhythms in 5/8, 7/8, and 11/8 with flexible beat groupings that make these meters feel natural.

sightread.org/blog/asymmet...
Adding support for 7/8 and family to my music sight reading project

11.02.2026 06:29 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Measuring SVG rendering time The questions Is rendering large SVGs significantly slower than smaller ones? Is there a cut-off size above which things are terrible? And what if these SVGs were PNGs, just for giggles. To answer t...

New blog post about an experiment in measuring how rendering times are affected by the size of SVGs

www.phpied.com/measuring-sv...

05.02.2026 07:34 πŸ‘ 8 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
Oops, I build.js'd it again Who amongst us has not created a blogging software of some fashion or another? I know I have, many times. My latest (joke-y) attempt was Lizzy.js. The desire to go into a writing mode and don't worry ...

New blog post www.phpied.com/oops-i-build...

24.01.2026 22:23 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Introducing Quests and Rhythmic Dictation - SightRead.org Blog SightRead.org now has quests. Rhythmic Dictation is a new mode where you hear a rhythm and try to identify it.

I don't think there are many music dictation apps out there, but here's v1 of mine.
Rhythm-only for now, part of the sightread.org project.
To try sightread.org?rhythm-dicta...
To read the blog post sightread.org/blog/quests-...

21.01.2026 07:27 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

7 tips for your #WebPerformance education:

Every December, @stoyan.me publishes the excellent Web Performance Calendar. It is a great collection of insights from the world's top experts. Even in 2026, these articles are a "must-read."

Here is what caught my eye this year (thread). ‡️

13.01.2026 09:03 πŸ‘ 6 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
AI is an Electric Bike for the Brain - Stoyan Stefanov Stoyan Stefanov calls AI an electric bike for the brain. But he warns it can also lead you straight off a performance cliff.

look ma' I'm now opining about AI like the big kids

www.wearedevelopers.com/en/videos/17...

14.01.2026 21:56 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Type checking without the muck This is part 4 of a series about hacking on sightread.org with minimal tooling/building and maximum web platform-ing: Part 1: Import JavaScript like it's 2026 Part 2: Maximally Minimal Build Proc...

New blog post www.phpied.com/type-checkin...
This is now part 4 of something I thought will be a quick note. Installment 4 talks about type checking without TypeScript. Hello JSDoc!
And so the DIY-ing continues until morale improves!

12.01.2026 06:51 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

which one? :) we got two!

06.01.2026 18:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
2025 Archives The speed geek's favorite time of year

Huge congrats and kudos to @stoyan.me for running it and to all the authors for writing articles for this year's Web Performance calendar.

calendar.perfplanet.com/2025/

The quality was very high, and it feels like every second post was a banger!

05.01.2026 22:48 πŸ‘ 3 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0

yeah, good point, that's how I ended up abandoning SWC. Hopefully with browser targets low enough (Safari 15) subtle bugs will be few and breaking bugs will be discovered while building.

05.01.2026 18:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Maximally Minimal Build Process In my previous post I described how I set up sightread.org with no build process and modern JavaScript. The goal was raw ES modules, no transpilation, no bundling, just <script type="module"> and we'r...

New blog post: www.phpied.com/maximally-mi...
It's about staying away from most everything the JS ecosystem has to offer and stick close to the web platform. A build is still necessary because of long lived caches and updates but it can be tiny and simple. Time will tell how this strategy plays out

04.01.2026 23:09 πŸ‘ 7 πŸ” 4 πŸ’¬ 1 πŸ“Œ 0

Let's make 2026 the year to make web simple again. Not everything needs to be an app, sometimes its just idk a website. πŸ₯³πŸ₯³

01.01.2026 04:53 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

People like to say β€œonce the single page app is booted, it’s faster”, but they’re wrong β€” stats show few subsequent navigations occur.

React simply isn’t worth the cost for most websites.

31.12.2025 22:21 πŸ‘ 16 πŸ” 6 πŸ’¬ 0 πŸ“Œ 0

I see what you mean, thanks! There's nothing wrong with discovering (how to do) something and writing about it even though one is not an expert, sometimes experts are too deep to put themselves in a noobie's shoes. But you're right, sometimes people just put out low effort borderline spam-ticles :)

31.12.2025 20:07 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I almost slipped this article because that headline is usually a red flag to me. But I'll be damned, every single one of these features slap.

31.12.2025 18:41 πŸ‘ 1 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

"All hits, no skips" :)
Out of curiosity what in the title is redflag-y, the stuff in parenthesis?

31.12.2025 18:51 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

🍻

31.12.2025 18:08 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Put the NYE champagne down… my article is up on the 2025 Web Performance Calendar πŸ₯³

31.12.2025 17:31 πŸ‘ 8 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0

@stoyan.me it's been a fantastic Web Performance Calendar, thank you for curating it and Happy New Year!

31.12.2025 17:34 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Wrapping up the year with my article for the Perf Calendar with my write up about how I ended up creating agent.perflab.io!

It has AI, it has Perf…what else could you want 😎πŸ”₯

I’m always happy to see my content in the Performance Calendar!

Thanks for the initiative @stoyan.me !

31.12.2025 17:36 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
The Curious Case of the Shallow Session SPAs Buried at the end of this year's instalment of my semi-annual series on network and device reality is a mystery: multiple, independent data sets from the Web Performance community indicate sites built...

Web Performance Calendar day 31 article 5/5: @infrequently.org investigates SPA usage patterns showing that users often trigger only ~1 soft navigation per page load. If the heavy upfront JS costs aren’t being amortized, what are SPA's performance benefits?
calendar.perfplanet.com/2025/the-cur...

31.12.2025 17:50 πŸ‘ 9 πŸ” 1 πŸ’¬ 0 πŸ“Œ 2
Preview
From Theory to Tiny: Implementing Compression Dictionaries Compression Dictionary Transport became an official IETF Proposed Standard this September (congratulations to Yoav Weiss & Pat Meenan πŸŽ‰). If you don't know what they are, I recommend watching Pat's wo...

Web Performance Calendar day 31 article 4/5: @twnsnd.com on Compression Dictionaries to dramatically shrink responses (60–90% smaller than Brotli/GZIP). Why adoption is slow. Practical architectural decisions and implementation tips to get huge bandwidth wins.
calendar.perfplanet.com/2025/from-th...

31.12.2025 17:19 πŸ‘ 9 πŸ” 5 πŸ’¬ 1 πŸ“Œ 1
Preview
Teaching Agents about Performance insights AI is kinda everywhere! Everyone is shipping AI features or Agents, but few of those systems can reason about the complex reality of performance data. This session is a deep dive story into the jour...

Web Performance Calendar day 31 article 3/5: Can AI meaningfully help with real-world performance analysis? @webx.bsky.social explores how to train AI/LLM agents to interpret complex browser data (like DevTools traces) into actionable insights.

calendar.perfplanet.com/2025/teachin...

31.12.2025 17:02 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1
Preview
Chrome DevTools Features I Use All the Time (and Why You Should Too) Most developers open Chrome DevTools, check a couple of network requests, maybe refresh the page once or twice β€” and that's it. I used to do the same. Over time, DevTools became something else entir...

Web Performance Calendar day 31 article 2/5: @keerthanak17.bsky.social on making friends with Chrome DevTools and transforming it into a powerful tool for deep understanding, debugging, and improving of real-world web performance

calendar.perfplanet.com/2025/chrome-...

31.12.2025 16:19 πŸ‘ 24 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
Open Source RUM with BasicRUM It's been a long, busy year but my friend Faisal and I stayed focused on building BasicRUM. After work, we pushed countless commits from a cozy cafΓ© in Munich. The important news is that we're wrappi...

Web Performance Calendar day 31 article 1/5: Tsvetan Stoychev shares that BasicRUM (open-source Real User Monitoring tool) will have its source code released Q1 2026. Self-hosted, privacy-friendly, with AI-powered insights & dashboards to spot perf issues
calendar.perfplanet.com/2025/open-so...

31.12.2025 15:45 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

New blog post about subsetting a ligature-heavy font highperformancewebfonts.com/read/subsett...

Almost always we subset based on text. But in my case, a more fine-tuned glyph-based approach saves 91% of bytes as opposed to 74% in the usual way. Worth it?

30.12.2025 20:33 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Our Web Performance Journey guide is live on PerfPlanet Calendar!

30.12.2025 16:41 πŸ‘ 4 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
7 Steps of a Web Performance Journey This year, Sergey Chernyshev, Eric Goldstein, and Alex Chernyshev - members of the NY Web Performance meetup - decided to collaborate on the future of the UX Speed Calculator tool Sergey created a few...

Web Performance Calendar day 30 with @sergeyche.dev, Eric Goldstein and Alex Chernyshev on mastering perf: get business to care, link UX speed to outcomes, set thresholds, understand real users with percentiles, trends, distributions, tie to business metrics
calendar.perfplanet.com/2025/7-steps...

30.12.2025 16:35 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1
SightRead.org

I added a little feature to sightread.org to remove the chrome so I can screen-record exercises UI-free and post them as Instagram reels. This way folks can squeeze a bit of practice while scrolling. If that sounds like you: www.instagram.com/sightreadorg/

29.12.2025 19:37 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0