Arora Browser Gallery
Engineering & Development

When the Web Runs on Someone Else's Code: The Hidden Cost of JavaScript Monocultures

Arora Browser

Open a typical website today and your browser doesn't just load a page — it downloads a small operating system. Hundreds of kilobytes of bundled JavaScript, minified beyond recognition, bootstrapping a runtime environment that has almost nothing to do with the HTML underneath. To most users, this is invisible. To developers who care about the open web, it's a slow-motion crisis.

The promise of the web was always portability. Write something once, and anyone with a browser could access it. That ideal has been quietly eroding for years, replaced by a landscape where "the web" increasingly means "React, served through a CDN, optimized for Chrome."

What Vendor Lock-In Actually Looks Like in a Browser

Lock-in isn't always obvious. Nobody's stopping you from opening a Next.js app in Firefox. But spend a few minutes with browser dev tools and you'll notice things: hydration errors in non-Chromium browsers, web components that render inconsistently, font-loading strategies tuned specifically for V8's garbage collector behavior. These aren't accidents. They're the cumulative result of developer teams testing primarily in Chrome, optimizing for Chrome's performance profile, and shipping code that silently degrades everywhere else.

The deeper problem is in the bundling itself. Tools like Webpack and Vite are genuinely useful, but they've also enabled a culture of shipping entire framework runtimes to do things HTML and CSS could handle natively. A navigation menu shouldn't require a 200KB JavaScript payload. A contact form doesn't need a state management library. But when your entire team lives inside a single framework's mental model, the instinct to reach for the framework is almost automatic.

This isn't just a performance complaint. It's a control issue. When a website's functionality is locked inside an opaque JavaScript bundle, users lose the ability to meaningfully interact with the page outside the framework's intended pathways. You can't easily script around it, archive it, or read it with assistive tools that weren't anticipated by the original developers. The page becomes a black box.

The Proprietary Bundling Pipeline

Here's where things get more specifically troubling. A lot of what gets shipped as "the web" today passes through a handful of commercial services before it reaches your browser. Vercel, Netlify, and similar platforms have become de facto infrastructure for the JavaScript ecosystem. They're genuinely good products, but they've also built deep integrations with specific frameworks — Vercel and Next.js being the most prominent example — that create sticky dependencies.

Deploy a Next.js app to Vercel and you get edge functions, image optimization, and incremental static regeneration that work seamlessly. Move that same app to a self-hosted environment and you're suddenly debugging undocumented behaviors that only exist because of platform-specific assumptions baked into the framework. The web app and the hosting platform have become a single product, sold separately.

For users, this means the websites you rely on are increasingly fragile in ways that aren't visible until something breaks. And when they break, they break in browser-specific ways — because the whole stack was only ever tested on one combination of runtime, CDN, and browser engine.

What Open-Source Projects Are Doing Differently

The response from the open-source community has been fragmented but genuinely promising. Frameworks like Astro have made "ship less JavaScript" a core design principle, defaulting to zero client-side JS and requiring explicit opt-in for interactivity. HTMX has attracted a vocal following by making the case that hypermedia — plain HTML responses to HTTP requests — can handle most of what single-page applications use JavaScript for.

On the browser side, projects committed to standards compliance rather than Chrome compatibility are doing quiet but important work. When a browser prioritizes correct implementation of web specs over reverse-engineering Chrome's quirks, it creates pressure on developers to write code that actually works across engines. That pressure, applied consistently, is one of the few forces capable of pushing the ecosystem toward genuine portability.

The Web Components standard, despite a rocky adoption history, represents another path. Components built on custom elements and the shadow DOM work in any browser that supports the spec — which, at this point, is basically all of them. They don't require a framework runtime. They don't create platform dependencies. They're just the web, doing what the web was supposed to do.

What You Can Actually Do About This

If you're a developer, the most direct lever you have is your tooling choices. That doesn't mean abandoning React — it means being intentional about when you actually need client-side rendering versus when you're just defaulting to it out of habit. Tools like Lighthouse can surface JavaScript payload problems, but the real audit happens when you ask yourself whether each piece of interactivity genuinely requires a framework or whether a few lines of vanilla JS would do the job.

For regular users, browser choice matters more than most people realize. Using a non-Chromium browser — and reporting breakage when you encounter it — sends a signal to developers that cross-browser compatibility still matters. It's not glamorous activism, but it's real. Every bug report filed against a Firefox-only rendering issue is a small vote for a web that doesn't run exclusively on Google's engine.

There's also value in supporting websites that prioritize performance and standards compliance, and being willing to say something when your favorite services don't. Companies respond to user feedback, especially when it comes with specifics.

The Web Is Still Worth Fighting For

The JavaScript monoculture problem isn't going to be solved by any single browser, framework, or developer. It's a cultural and economic issue as much as a technical one. The incentives that push teams toward heavy frameworks and platform-specific optimization are real, and they're not going away on their own.

But the open web has survived worse. The people building lighter tools, maintaining standards-compliant browsers, and writing about why portability matters are doing genuinely important work. The web's original promise — that anyone can build something anyone else can access — is still worth preserving. It just requires a little more intentional effort than it used to.

Back to Gallery

More Stories

Your Browser Is Becoming a Computer: The WASM Shift Nobody's Talking About

The Invisible Middleman: How Your DNS Requests Are Being Monetized Before You Even Load a Page

Breaking Free From Chromium: What It Actually Takes to Build a Browser From the Ground Up