Den Odell @denodell.bsky.social · 24/08/2026Deal 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 · 05/08/2026I 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.comGitHub - 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/2026Some 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.comYour SPA Is Leaking Memory. Soak Test ItSome 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 · 10/06/2026I 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.comThe Great Agent Skills Land GrabThousands 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/2026The 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/2026I 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/2026What 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 · 14/05/2026Some 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.comBrowsers Treat Big Sites DifferentlySafari 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/2026Deal of the Day May 10: Save 45% on my book Performance Engineering in Practice, and other selected titles @ManningBooks: hubs.la/Q03-d27Y0hubs.laDeal of the DayManning is an independent publisher of computer books, videos, and courses. 000
Den Odell @denodell.bsky.social · 28/04/2026Designers 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.comThe Design-Minded EngineerDesigners 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/2026Those 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.comYou're Looking at the Wrong Pretext DemoPretext went viral for its beautiful canvas demos. But the community is showcasing the wrong feature. 021
Den Odell @denodell.bsky.social · 12/03/2026The 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/Q044cvhn0hubs.laPerformance Engineering in Practice - Den OdellYou 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 OdellManning Publications @manning.com · 27/02/2026new 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 140
Den Odell @denodell.bsky.social · 23/02/2026The 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.comConstraints and the Lost Art of OptimizationHow 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 · 14/01/2026The 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.comThe Main Thread Is Not YoursEvery 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 OdellStoyan Stefanov @stoyan.me · 04/12/2025Web 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.comFast by DefaultAfter 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/2025Frameworks 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.comEscape Velocity: Break Free from Framework GravityAfter a decade of React dominance, it’s time to remember that frameworks run inside the web, not the other way around. 000
Reposted by Den OdellCSS Weekly @cssweekly.com · 23/10/2025CSS 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-622cssw.ioCSS Weekly Issue #622Learn 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 · 02/10/2025I 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.comHTML’s Best Kept Secret: The output TagMake your dynamic content accessible by default with the HTML tag that time forgot. 292
Den Odell @denodell.bsky.social · 27/08/2025Frontend 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.comCode Reviews That Actually Improve Frontend QualityMost 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/2025We 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.comWe Keep Reinventing CSS, but Styling Was Never the ProblemWe 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/2025The 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.comThe Web Is About to Get Better for Everyone, EverywhereWhat 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/2025Apparently, 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.comAI 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/2025Loading 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 #architecturedenodell.comBuilding the Web in Islands, Not MountainsLoading 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/2025Before 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.comHacking Layout Before CSS Even ExistedThe 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/2025You’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.comWant to Be a Better Frontend Engineer? Try a Week On-CallYou’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