Sign in

Den Odell

@denodell.bsky.social
93 followers 103 following 37 posts

Staff Web Engineer. Author of Fast by Default (Manning, 2026)

PostsRepliesMedia
Den Odell @denodell.bsky.social · 24/08/2026
Deal of the Day August 24: Save 45% on my book Fast by Default and other selected titles @manning.com : hubs.la/Q03-d27Y0
032
Den Odell @denodell.bsky.social · 23/08/2026
When I was running my own examples and experiments, I chose deliberately small flows, just to check nothing was leaking. Once I had confidence those were ok, I got bigger and bigger end to end flows in there. Just remember that the visual end state of the flow should essentially match the start!
010
Den Odell @denodell.bsky.social · 05/08/2026
I released playwright-soak-test today. It catches memory leaks in your web app by looping a user flow a few hundred times in one browser session, watching the DOM node and listener counts. It fakes the browser clock and the network, so an hour of usage runs in seconds. github.com/denodell/pla...
github.com
GitHub - denodell/playwright-soak-test: Soak test your single page web-app (SPA) for memory leaks at high speed, with Playwright.
Soak test your single page web-app (SPA) for memory leaks at high speed, with Playwright. - denodell/playwright-soak-test
110
Den Odell @denodell.bsky.social · 29/07/2026
Some teams force-reload their web app every few hours, to stop it running out of memory. Backend teams have soak tested for years. You can do it to a frontend too: one flow, 200 loops, node and listener counts before and after. denodell.com/blog/your-sp...
denodell.com
Your SPA Is Leaking Memory. Soak Test It
Some teams force-reload their single-page web apps (SPAs) every few hours just to clear the memory the app leaked. A Playwright soak test finds the leak instead.
121
Den Odell @denodell.bsky.social · 26/06/2026
Congrats!!
000
Den Odell @denodell.bsky.social · 10/06/2026
I deleted a bunch of agent skills I'd installed. My coding agent's output didn't change. A lot of published skills attempt to teach models what they already know. Sounds like a land grab to me... denodell.com/blog/the-gre...
denodell.com
The Great Agent Skills Land Grab
Thousands of AI agent skills have flooded GitHub recently, most of them teaching models what they already know. The land grab is on.
020
Den Odell @denodell.bsky.social · 22/05/2026
The Memorial Day sale at Manning means my new book is half price right now until Monday! Go grab a copy! hubs.la/Q044cvhn0
020
Den Odell @denodell.bsky.social · 18/05/2026
I sat down with Dan recently for his Señors at Scale podcast to talk about my book and my career so far. Check it out!
040
Den Odell @denodell.bsky.social · 15/05/2026
What a great idea! @jamessw.com just launched an automated tracker of browser quirks inspired by my article on the same. Check it out and give it a follow: bsky.app/profile/quir...
bsky.app
020
Den Odell @denodell.bsky.social · 15/05/2026
Hey that’s really nice! Great idea! I’m following!!
000
Den Odell @denodell.bsky.social · 14/05/2026
Yup, AI. I used a model to add the scrapbook effect to each logo. It moved a few bits around. I actually decided I preferred it to the original I had. I wasn’t aiming for brand perfection, and I felt it reflected the “render differently“ idea from the article in the abstract.
000
Den Odell @denodell.bsky.social · 14/05/2026
Some browsers check what site you're on and render the page differently. Yup, you read that right. TikTok gets special treatment. So does Netflix. Instagram. Even SeatGuru. Safari and Firefox both do this. Chrome doesn't. There's a reason for that... Read on. denodell.com/blog/browser...
denodell.com
Browsers Treat Big Sites Differently
Safari and Firefox change how big sites render based on the domain. TikTok, Netflix, Instagram… even SeatGuru. Chrome doesn’t. Why is that?
5428
Den Odell @denodell.bsky.social · 10/05/2026
Deal of the Day May 10: Save 45% on my book Performance Engineering in Practice, and other selected titles @ManningBooks: hubs.la/Q03-d27Y0
hubs.la
Deal of the Day
Manning is an independent publisher of computer books, videos, and courses.
000
Den Odell @denodell.bsky.social · 28/04/2026
Designers have complained for decades that engineers ship the wrong thing. The fix isn't better handoffs or AI tools; it's design-minded engineering. Wrote up what that means, why it matters more in the AI era, and the framework I've used across AKQA, Volvo, and Canva: denodell.com/blog/the-des...
denodell.com
The Design-Minded Engineer
Designers have been complaining for decades that what ships doesn’t match what they designed. The fix isn’t better handoffs or AI tools. It’s engineers who can see what designers see.
081
Den Odell @denodell.bsky.social · 30/03/2026
Those Pretext demos are stunning, but they're not what's novel or important about this library. What matters is that it can predict the height of any text block without the browser ever touching the DOM! denodell.com/blog/youre-l...
denodell.com
You're Looking at the Wrong Pretext Demo
Pretext went viral for its beautiful canvas demos. But the community is showcasing the wrong feature.
021
Den Odell @denodell.bsky.social · 12/03/2026
The first reviews of my new book on software performance engineering are coming in: ⭐ "A manifesto against enshittification." ⭐ "The best chapters in this book are worth a whole book." And now it's 50% off with code "MLOdell" until 26 March: hubs.la/Q044cvhn0
hubs.la
Performance Engineering in Practice - Den Odell
You can prevent most software performance problems if you recognize their predictable patterns. Performance Engineering in Practice introduces author Den Odell’s Fast by Default model that replaces th...
020
Reposted by Den Odell
Manning Publications @manning.com · 27/02/2026
new MEAP launch, folks ↓ get it half off through march 13th.
031
Den Odell @denodell.bsky.social · 26/02/2026
🎉 My new book Performance Engineering in Practice is now available through Manning's Early Access Program! 🎉 It's the practical guide to making software fast by default, covering web, backend, mobile, and desktop. First 5 chapters out now, with a 50% launch discount 🚀 hubs.la/Q044cvhn0
Performance Engineering In Practice book cover
140
Den Odell @denodell.bsky.social · 24/02/2026
Haha yeah! They needed the constraint to sell something to more than just a few people!
010
Den Odell @denodell.bsky.social · 23/02/2026
The first Mac OS fitted in a 64kB ROM. That hard limit didn't hold back innovation, it demanded it. The engineers who worked within those limits knew their platform completely. We've lost some of that thinking, the knowledge of our foundations. I wrote more here: denodell.com/blog/constra...
denodell.com
Constraints and the Lost Art of Optimization
How working within hard limits produced some of the most elegant software in history, and what we can learn from it.
131
Den Odell @denodell.bsky.social · 30/01/2026
I know! We can do it ourselves with Web Workers, but sounds like something that should be automatic
010
Den Odell @denodell.bsky.social · 14/01/2026
The main thread is the only path between your web app and a human being. When your JavaScript runs too long, the browser stops listening to them. That’s jank. We’re only borrowing the main thread from users. We should treat it with respect. denodell.com/blog/the-mai...
denodell.com
The Main Thread Is Not Yours
Every millisecond your JavaScript runs is a millisecond borrowed from your users. Here's how to be a better guest on the main thread.
120
Reposted by Den Odell
Stoyan Stefanov @stoyan.me · 04/12/2025
Web Performance Calendar day #4 when @denodell.bsky.social shows us how to adopt a fast-by-default mindset to escape the vicious cycle of ship-complain-panic-patch. calendar.perfplanet.com/2025/fast-by...
calendar.perfplanet.com
Fast by Default
After 25 years building sites for global brands, I kept seeing the same pattern appear. A team ships new features, users quietly begin to struggle, and only later do the bug reports start trickling in...
052
Den Odell @denodell.bsky.social · 05/11/2025
Frameworks run inside the web, not the other way around. New post on breaking free from framework gravity, building React apps that respect the platform and could outlast React itself. denodell.com/blog/escape-...
denodell.com
Escape Velocity: Break Free from Framework Gravity
After a decade of React dominance, it’s time to remember that frameworks run inside the web, not the other way around.
000
Den Odell @denodell.bsky.social · 23/10/2025
Appreciate the link to my post! Thank you!
010
Reposted by Den Odell
CSS Weekly @cssweekly.com · 23/10/2025
CSS Weekly #622 🚀 Best of CSS in 2025 😳 Uncommon media queries 💠 corner-shape property 💬 :heading pseudo-class Featuring @chriscoyier.net, @dxnny.fun, @jensimmons.bsky.social, @emilkowal.ski, @bram.us, @denodell.bsky.social. @silvestar.codes, @miocene.io. 🙏 cssw.io/issue-622
cssw.io
CSS Weekly Issue #622
Learn everything you need to know about new CSS features released in 2025, useful use cases for obscure media queries, how the corner-shape property works, and more.
163
Den Odell @denodell.bsky.social · 21/10/2025
No trouble at all! In fact it's good, now I can treat it like it's live instead of keep holding back from announcing it. A few more tweaks then I'll do just that! Thank you!
000
Den Odell @denodell.bsky.social · 21/10/2025
That's great, I'll add that to the list and get some more HTTP Header goodness in there, it's always good with references for those and when to use them...!
010
Den Odell @denodell.bsky.social · 21/10/2025
That's awesome, thanks for reading my output tag article and finding your way to the new site! I probably should have had the repo private until I was ready to launch, but this gives me more incentive to push on so it's all good! I've been adding more detail to each pattern even today :)
110
Den Odell @denodell.bsky.social · 21/10/2025
I’d love to know which patterns you’d like to see on there or which ones I have that resonated with you btw? Gives me some focus… Thank you for being my first user!
100
Den Odell @denodell.bsky.social · 21/10/2025
Oh wow you found that! I’m actively building it right now so some content might be missing, and features come and go. But I’m hoping it’ll end up being really useful once it’s launched properly!
100
Den Odell @denodell.bsky.social · 14/10/2025
Right!? It’s wild how long it's just been sitting there, waiting to be used. I only stumbled on it when I was debugging a form accessibility issue and craving some better semantics. Turns out HTML had already delivered the goods! 😄
000
Den Odell @denodell.bsky.social · 02/10/2025
I recently discovered the HTML tag almost nobody uses. The <output> tag announces dynamic content to screen readers. Like an ARIA live region, except it's built in. We've spent years hacking divs when the answer was in the spec. Classic. New post: denodell.com/blog/html-be...
denodell.com
HTML’s Best Kept Secret: The output Tag
Make your dynamic content accessible by default with the HTML tag that time forgot.
292
Den Odell @denodell.bsky.social · 27/08/2025
Frontend code reviews should test the experience, not just the diff. Too many bugs slip through because no one thought to preview in a browser. My latest post covers how to shift reviews from “LGTM” to real UX quality checks. denodell.com/blog/code-re...
denodell.com
Code Reviews That Actually Improve Frontend Quality
Most frontend reviews sign off clean code. But your users don’t see the code, they see the bugs you missed.
020
Den Odell @denodell.bsky.social · 06/08/2025
We keep changing how we style the web. Tailwind. CSS Modules. CSS-in-JS. Cascade layers. Still feels off though. Maybe CSS was never the real problem. denodell.com/blog/we-keep...
denodell.com
We Keep Reinventing CSS, but Styling Was Never the Problem
We keep changing how we style the web, but the real problem isn’t CSS. It’s how we build around it.
010
Den Odell @denodell.bsky.social · 29/07/2025
The next big shift in frontend isn’t a framework. It’s a law. The EU’s accessibility rules will ripple far beyond Europe, and the web will get better because of it. denodell.com/blog/a-bette...
denodell.com
The Web Is About to Get Better for Everyone, Everywhere
What happens when accessibility stops being a best practice and starts being the law? We’re about to find out.
010
Den Odell @denodell.bsky.social · 10/07/2025
Apparently, AI just made frontend developers obsolete. Again. Don’t panic. I’ve been here before. I know how this goes. You’ll want to read this one. denodell.com/blog/ai-is-j...
denodell.com
AI Is Just the Latest Frontend Killer. Don’t Panic.
Apparently, frontend developers are about to be made obsolete. This all sounds very familiar.
010
Den Odell @denodell.bsky.social · 26/06/2025
Loading spinners. Hydration delays. 300kB of JS for a blog post. We’ve normalised complexity where it’s not needed. There’s a better way — and it starts with islands. denodell.com/blog/buildin... #frontend #architecture
denodell.com
Building the Web in Islands, Not Mountains
Loading spinners. Hydration delays. 300kB for a blog post. There’s a better way to build the web.
000
Den Odell @denodell.bsky.social · 11/06/2025
Before CSS, we still had to build layouts. No grid, no flex, not even float. Just hacks, slices, and a lot of guesswork. 🆕 Hacking Layout Before CSS Even Existed What we did, how it worked, and what it still teaches us. 👉 denodell.com/blog/hacking...
denodell.com
Hacking Layout Before CSS Even Existed
The early web had no layout system. No CSS. So we improvised, slicing, stretching, and nesting our way to structure.
000
Den Odell @denodell.bsky.social · 04/06/2025
You’re going to hate me for saying this, but I actually like being on-call. It’s not the 2:43 AM alerts. It’s what they taught me about frontend quality. My first piece of new writing in 10 years. denodell.com/blog/try-a-w...
denodell.com
Want to Be a Better Frontend Engineer? Try a Week On-Call
You’re going to hate me for saying this, but I actually like being on-call. Honestly! It’s taught me more about frontend quality than any bug tracker ever did.
010