Web dev is still fun if you want it to be

Simplicity, Server Rendering, and “Old-School” Joy

  • Many describe renewed enjoyment by avoiding frontend build systems and heavy frameworks: just HTML, CSS, and vanilla JS (often in <script> tags).
  • Server-rendered pages with simple forms, a bit of JS “for spice,” and a single VPS are seen as fast, cheap, robust, and easier to maintain.
  • People report that modern browser APIs (querySelectorAll, fetch) and modern CSS (grid, :has(), custom properties) remove much of the old need for jQuery and complex stacks.
  • This style is viewed as ideal for personal projects, small products, and non-profits, where scaling needs are modest.

Frontend Complexity and Frameworks

  • Strong frustration with React/Next/Vite/Webpack/GraphQL and similar stacks: many feel they add layers and maintenance cost for little user-visible gain.
  • Others argue frameworks are valuable for large teams: they enforce structure, clear contracts, and decoupled front/back ends.
  • Debate over React’s nature: some insist it’s just a small library that doesn’t require JSX or a build system; others say adopting React effectively turns your app into a framework-shaped project.
  • Some see modern-framework backlash as nostalgia/elitism, insisting React et al. exist because large, complex apps are hard to maintain otherwise.

State Management, Scaling, and When SPAs Make Sense

  • One view: FE complexity grew because state moved from server to client for scalability and richer UX; “back to cookies + HTML” is unrealistic at big scale.
  • Counterpoint: with today’s powerful servers and global datastores, server-side state and HTML rendering may again be viable for many apps.
  • Several note that simple patterns (variables + “rerender” function, htmx/Stimulus/Turbo, or partial SPAs) often cover 90% of SPA-style needs.
  • Others share that they started with “classic” Django/Rails-style apps and only moved to API + React/Next when user interactions became truly complex.

Forms, Standards, and Browser Capabilities

  • Strong agreement that form submission should require zero JS; browsers already handle basic validation.
  • Frustration that HTML forms have “rotted”: lack of JSON enctype, awkward validation attributes instead of richer child tags, and stalled standardization efforts.
  • Some show patterns for sharing controller logic between SSR and SPA modes so apps still work with JS disabled.

Tooling Opinions: Tailwind, jQuery, Astro, Web Components

  • Tailwind: praised as a semantic layer that LLMs can reason about; criticized as verbose “inline styles with extra steps” that makes every site look the same.
  • jQuery: still used for readability and convenience; others see it as an obsolete polyfill that’s not worth introducing in new code.
  • Astro and similar tools: mixed experiences—some find them fun and “Rails-like,” others dislike the mental model of server/client fences.
  • Web components + native modules/CSS are highlighted as a modern, standard-based alternative to big frameworks, with small libs like Lit or Mithril layered on when needed.
  • Lightweight options like Alpine.js and minimalist hypermedia helpers are mentioned as pleasant middle grounds.

AI, “Vibecoding,” and Fun

  • The article’s mild use of AI for CSS triggered strong anti-AI reactions from some, who see any use as harmful; others say “somewhat OK” assistance is fine.
  • A few enjoy “vibecoding” with AI for rapid prototypes and playful experiments, but would not trust it for production.
  • Concern is raised that AI industrializes what used to be fun; others argue competent developers will still stand out regardless.

Careers, Hiring, and Social Dynamics

  • Several note that hiring markets enforce tool choices: resumes without React can be discarded, driving “resume-driven development.”
  • Using simpler stacks at work can be seen as “dinosaur” behavior, even when it’s more efficient; some accept this and focus on side projects for joy.
  • Tool choices are portrayed as social as much as technical: rejecting mainstream stacks can confuse peers or be perceived as criticism.