Stoyan Stefanov

Stoyan Stefanov

@stoyan.me

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

1.5K followers251 following388 posts

Happy to report that after I published a plain old HTML page explaining how to create URLs for my app, now both chatgpt and gemini can do it. Not sure how quickly it happened, but they did learn.

My blogging raison d'être is mostly "note-to-self", not trying to be popular or thought-leader-y. And every once in a while it helps me, even when I forget that I have a problem I've solved previously.

My example of "AI is amazing! (at things I don't know anything about)" For my SightRead.org project I use a font called MusGlyphs. The thing is I needed a glyph that is not in the font. Emailed the author, he suggested I just go for it in a font editing tool. FontForge is what I used and ...

sightread.orgSightRead.org - Free Sight Reading PracticePractice sight reading with customizable exercises. Generate random rhythmic patterns, use the metronome, and improve your music reading skills. Free, no login required.

... and it's a tad intimidating for a noob like me. I kept needing new glyphs and my progress and releases slowed down because of "oh man, need to edit that font again" procrastination. Enter Claude. Not only it added a couple of glyphs I needed, after a minimal handholding, but...

...but I asked it to go back and fix the ones I added manually, using consistent spacing, fixing warnings, etc. Turns out .sfd files (source of my font's WOFF2 subset exports) are not binary but human-readable text files full of coordinates and transforms and such vector-y things. Easy-peasy!

My friend Javor Vatchkov just launched bandscheck.com, a nice way to see who's playing in your area tonight and in the future. Fun way to discover new artists too, thanks to audio (video) sample of each artist's work. Give it a spin!

"Do I still have a job?" check, Oct 1, 2026. Answer: yes. Chasing the source of an image request with Claude offered two (annoyingly confident, but still) dead ends. Old school poke in the profiler trace had the answer within a minute or so....

When does California's 1-click-unsubscribe law starts being mandated? Trying to cancel a subscription: website's subs management is under construction, no one is picking up the phone and AI chatbot is the only thing responding. Of course it sends you to the phone. Arghh! p.s. avoid JustFoodForDogs

Todor Zhivkov, leader of communist Bulgaria 1956-1989, "wrote" an insane amount of books, over 50 probably, fat ones too. Of course, it's really hard to write that much, even for full-time prolific folks like Stephen King or Isaac Asimov...

...These books were most certainly entirely ghost-written. The joke back then was: he's written more books than he's read. And now, thanks to LLMs, this could be you too! Even without an army of ghosts. What a time to be alive!

New blog post about becoming a Micro-Influencer on Instagram: www.phpied.com/i-am-now-an-... (meaning 10K followers) How I got there (not hard, just persistence for 5+ months) and what are the benefits (not monetary or any real influence). AMA.

phpied.comI am now an Instagram Micro-InfluencerAMA. What's a "Micro-Influencer"? Someone with 10K or more followers. Approximately 15% of all Instagram accounts. So I'm a "15 percenter" What's an Instagram? A window on your baby television tha...

Stoyan Stefanov reposted

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). ⤵️

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!

phpied.comType checking without the muckThis 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/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

phpied.comMaximally Minimal Build ProcessIn 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...

Stoyan Stefanov reposted

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

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...

Stoyan Stefanov reposted

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.

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...

Stoyan Stefanov reposted

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.

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-...

Stoyan Stefanov reposted

Put the NYE champagne down… my article is up on the 2025 Web Performance Calendar 🥳

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...

Stoyan Stefanov reposted

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 !

agent.perflab.ioPerfAgent - AI-Powered Web Performance AnalysisGet expert insights on Core Web Vitals and performance optimization from an AI specialized in web performance analysis.

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...

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...

calendar.perfplanet.comThe Curious Case of the Shallow Session SPAsBuried 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 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...

calendar.perfplanet.comFrom Theory to Tiny: Implementing Compression DictionariesCompression 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 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...

calendar.perfplanet.comOpen Source RUM with BasicRUMIt'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...

Stoyan Stefanov reposted

Our Web Performance Journey guide is live on PerfPlanet Calendar!

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...

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...

calendar.perfplanet.com7 Steps of a Web Performance JourneyThis 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...

Stoyan Stefanov reposted

My contribution to this years Web Performance Calendar is all about Third Parties and Single Points of Failure (SPOF). Based on @httparchive.org data I found that 67% of websites have at least 1 render blocking third party - and quite a few of them are SPOF risks!

Web Performance Calendar day 29 with @paulcalvano.bsky.social's research on 3rd parties, SPOF, and the need to test and monitor these. 67% of sites out there have at least 1 render-blocking external dependency. calendar.perfplanet.com/2025/third-p...

Stoyan Stefanov reposted

My article for Performance Calendar is live, looking at tips to help focus when doing performance traces.

Web Performance Calendar day 28 when Ian Duffy shows us how to tame Chrome’s Performance panel: reduce noise, search fast, annotate, use Insights, and customize tracks calendar.perfplanet.com/2025/tips-fo...