reasons the modern web is hostile to users, performance, privacy, simplicity, and the original idea of a document network.

it is no longer a document system

the web was designed for hyperlinked documents. what we have now is a distributed application platform that happens to use http and html as transport and markup. pages are bootstrapped by megabytes of javascript before any content appears. the document is an afterthought. the original model was robust, cacheable, and readable by anything that understood text. the current model assumes a high-end browser running a full operating system in javascript.

javascript is mandatory

large parts of the public web simply do not work with javascript disabled. forms, navigation, content loading, and even basic readability are gated behind script execution. this is not an accident. it is the result of treating the browser as an application runtime instead of a document viewer. users who disable javascript for security, privacy, or performance reasons are treated as broken clients.

bloat is the default

a typical marketing site or news article ships hundreds of kilobytes to several megabytes of javascript, css, fonts, and tracking scripts before the user sees a paragraph of text. the same information could be delivered in a few dozen kilobytes of plain html. the excess is not required by the content. it is required by the business model, the framework, the analytics suite, and the design system. performance is treated as an optional optimization instead of a baseline requirement.

frameworks as cargo cult

react, vue, angular, svelte, and the rest solve real problems for complex interactive applications. they are then applied to blogs, documentation, marketing pages, and static content where they add nothing but complexity, build steps, and client-side overhead. the industry trained a generation of developers to reach for a spa framework before asking whether a page needs to be an application at all.

the build step is mandatory

shipping a simple page now often requires node, a package manager, a bundler, a transpiler, a linter, a css preprocessor, and a deployment pipeline. the feedback loop that used to be "edit html, refresh browser" has been replaced by minutes of tooling. the complexity is justified by developer experience for large teams. for everyone else it is pure overhead.

tracking is the business model

most of the public web is funded by surveillance. cookies, fingerprinting, third-party scripts, and real-time bidding turn every page view into a data collection event. the user is the product. privacy-respecting browsers and extensions are in a permanent arms race against increasingly aggressive tracking techniques. the economic structure of the web rewards the most invasive behavior.

cookie banners are theater

gdpr and similar laws produced a user interface of compliance theater. endless modals asking for consent that no one reads, dark patterns that nudge toward "accept all," and the same tracking continuing underneath. the banners waste time and attention while doing almost nothing to change the underlying surveillance economy.

accessibility is an afterthought

keyboard navigation, screen readers, semantic html, and proper contrast are frequently broken by heavy javascript interfaces, custom components, and design systems that prioritize visual novelty. the web has the technical means to be highly accessible. the modern stack repeatedly fails to use them because accessibility is not a product metric that drives revenue.

mobile is an afterthought too

responsive design is declared solved, yet many sites still ship desktop-class javascript bundles to phones, drain batteries with background scripts, and present interfaces that assume precise pointer input. the mobile web is often slower and more hostile than native applications, despite running on the same devices.

centralization by infrastructure

a handful of cdns, cloud providers, and dns companies sit in front of a huge percentage of sites. cloudflare, aws, google, and a few others become single points of failure and control. outages at the infrastructure layer take large parts of the web offline simultaneously. the distributed nature of the web is increasingly an illusion maintained by a small number of commercial networks.

search is a monopoly with side effects

google still dominates discovery. ranking changes can destroy traffic overnight. the incentive is to optimize for the ranking algorithm rather than for readers. the result is content shaped by seo requirements, structured data theater, and an arms race of engagement tricks. the open web is filtered through one company's relevance model.

ads destroy the reading experience

intrusive ads, autoplaying video, popovers, interstitials, and layout shift are normal. the content is secondary to the monetization layer. readers develop banner blindness and reach for blockers. publishers respond with more aggressive techniques. the equilibrium is hostile to both sides and only benefits the ad intermediaries.

spa routing breaks the web

client-side routing, history api manipulation, and soft navigation make the back button, deep linking, and link sharing unreliable. urls stop being stable references to documents and become application state. the hyperlink, the core primitive of the web, is weakened by frameworks that treat the address bar as an implementation detail.

dependency on living standards controlled by vendors

new web platform features ship at the pace of the major browser engines. chrome's dominance means google effectively sets a large part of the roadmap. features are added faster than they can be scrutinized, and the surface area of the platform grows without a corresponding increase in understandability or security. the web platform is no longer small enough for a single person to hold in their head.

security is a permanent crisis

the combination of a massive trusted computing base in the browser, ubiquitous third-party scripts, and complex client-side applications produces an endless stream of xss, supply-chain, and tracking vulnerabilities. the same origin policy and content security policy are necessary patches on a model that was never designed for the current threat landscape. users are told to keep their browsers updated because the alternative is constant exploitation.

the document is dead, long live the engagement metric

time-on-page, scroll depth, click-through rate, and similar metrics shape design decisions. content is broken into infinite scroll, paginated carousels, and "read more" traps. the goal is not to inform or to provide a stable reference. the goal is to extract attention. the original web of documents that could be archived, cited, and read offline has been replaced by a stream optimized for metrics.

better alternatives

you do not have to accept the modern web stack as the only way to publish or consume information. the main fix is simply to design websites in a simple way.

for publishing

for reading and browsing

(c) 2026 vextoly

Please don't upload to GitHub