Happy Monday 👋 and welcome to another special edition of Tech Talks Weekly! This edition includes the most-watched talks in the React and Vue ecosystem in 2025 so far. If you're interested in how this list was built, head over the last section. Get ready for a bit of scrolling, but it's worth it! With that said, expect your watchlist to grow!
Google has been saying that no one uses the LLMs.txt file, that Google won't use it, that it can be useless, and you probably should noindex it if you do use it. Well, Google itself uploaded an LLMs.txt file for the Google Search Central portal. The file is over here: developers.google.com/search/docs/llms.txt. This was spotted by Lidia Infante who posted it on Bluesky and asked John Mueller of Google, "Is this an endorsement of llms.txt or are you trolling us, John?"
In any case, you can see the trouble with active scrolling when a "dialog" is open: The problem is that the dialog itself is not a scroll container. If it was, we could slap overscroll-behavior: contain on it and be done with it. Brad demoed his solution that involved a JavaScript-y approach that sets the <body> to fixed positioning when the dialog is in an open state:
The indie web began a few years after the end of GeoCities, which Yahoo shut down in 2009 (at least, in the US - GeoCities Japan managed to hang on until 2019). GeoCities was a free web hosting service that launched in 1994 and once hosted millions of personal HTML websites, from pop culture shrines to teachers' pages for their students (and truly everything in between).
While this change might seem trivial, it fixes an issue developers have been dealing with for ages: prevent a page from scrolling while a (modal) <dialog> is open. ~ CSS overscroll-behavior - which I first covered here in 2017 - allows you to control what a browser should do when reaching the boundary of a scrolling area. For example, if you set it to overscroll-behavior: contain, it will prevent scroll chaining from happening, so that underlying elements don't scroll.
Sometimes I want to set the value of a CSS property to that of a different property, even if I don't know what that value is, and even if it changes later. Unfortunately though, that's not possible (at least, there isn't a CSS function that specifically does that). In my opinion, it'd be super useful to have something like this (for interpolation, maybe you'd throw in there as well): /* Totally hypothetical */ button { border-radius: compute(height, self); border-radius: compute(height, inherit); border-radius: compute(height, #this); }
Write efficient, quality, tested code using industry best practices Contribute to code quality and maintainability by writing unit and integration tests Leverage modern architectural patterns and third-party libraries to deliver new features Provide high-quality code reviews, enforce code styles and best practices, and ensure scalable architectural designs Contribute to technical roadmaps, design, and implementation within a team of high-performing engineers Partner with engineering, product management, and design teams to develop and refine new features
Response streaming is one of the simplest but most effective ways to improve the user experience in AI-powered applications. Instead of making users wait for a lengthy and fully generated response, you can stream the output token by token and display it as it's being produced. This is the same effect you see when using ChatGPT or Gemini, where the text appears gradually, almost as if the AI is typing in real time.
Black Friday is the best time of the year to grab WordPress hosting at a lower cost. Hosting providers drop their prices sharply and often include extra perks like free site migrations, premium themes, or more storage space. For anyone running a WordPress site, these deals can make a big difference, especially if you've been waiting to switch to a faster or more reliable host without paying full price.
Are you getting your website up for success? Every business owner worth their salt knows the importance of a good website for their business, even if it's just a static one-page design, leading people to contact you directly and giving you a digital home to reinforce your visibility. But even with that one page, is it really enough, and have you paid enough attention to the important foundations of a good website?
Rolldown, a new JavaScript/TypeScript bundler written in Rust, has emerged from VoidZero, the maintainers of projects such as Vite. Rolldown offers a high performance alternative to conventional bundlers with full compatibility for the Rollup plugin ecosystem. Designed as the next logical step for modern build workflows, Rolldown promises significant build time improvements while retaining familiar plugin interfaces. Rolldown was designed primarily to be the underlying bundler within Vite to replace the existing Vite dependencies of esbuild and Rollup.
The range syntax isn't a new thing. We're already able to use it with media queries to query viewport dimensions and resolutions, as well as container size queries to query container dimensions. Being able to use it with container style queries - which we can do starting with Chrome 142 - means that we can compare literal numeric values as well as numeric values tokenized by custom properties or the function.
A single <input> element: That's where the OTP magic happens! Let's break down each of its attributes: Even though our passcode will consist of numbers, it isn't actually a number: A value of 000004 should not be the considered the same as a value of 4. For that reason, we follow the HTML spec and set type="text". inputmode="numeric" enables a numeric virtual keyboard on touch devices.
BarnamenevisEditor is a lightweight, fully-featured rich text editor built on top of the latest jQuery library and Bootstrap 5 framework. It transforms a standard textarea into a WYSIWYG editor that handles bidirectional text, custom fonts, and modern dark mode interfaces out of the box. Features: Text Formatting: Bold, italic, underline, strikethrough, font family selection, font size control, text color, background color, and clear formatting tools.
On February 10, the plugins will gracefully degrade by rendering as a 0x0 pixel (invisible element) rather than causing errors or breaking your website functionality. This change is intended to only remove the plugin content from your site, and should not otherwise impact your website's functionality." Meta says that the functions will stop rendering on websites after February 10, 2026.
Remix 3 is here, and it feels like a framework teleported from an alternate timeline - one where React Hooks never happened. It's a complete rewrite of the Remix web framework that abandons React entirely in favor of a simpler, imperative programming model built on web standards. It's not a version bump; it's a ground-up rewrite that swaps React for a fork of Preact.
Using position: sticky; is one of those CSS features that's incredibly useful, seemingly simple, and also, frequently frustrating. The premise is simple: you want to be able to scroll your page's content, but you want something to "stick" at the top (or anywhere). Frequently, this will be some sort of header content that you want to always stay at the top, even as the user scrolls, but it could be any sort of content (and stick edges other than the top, and at any offset).
Since I wrote that explanation, I've designed and implemented new Magnificent 7 animated graphics across my website. They play on the web design pioneer theme, featuring seven magnificent Old West characters. View this animated SVG on my website. (Large preview) <symbol> and <use> let me define a character design and reuse it across multiple SVGs and pages. First, I created my characters and put each into a <symbol> inside a hidden library SVG:
Freelancers can choose their own business policies. We can determine how we work, when we work, and how much we charge. That last one can be difficult, to say the least. Pricing has confounded many a small business owner. Choosing what to charge for your service is only one part of the equation, however. You must also decide how to communicate those figures with others.
Imagine a world where you no longer need to juggle tabs, fill out forms, or click through endless menus. Instead, you simply tell a digital assistant, "Transfer this amount, draft an email with these subjects, send me a summary, and update my calendar." That vision is no longer science fiction; it marks a profound shift in how we think about user interfaces.
Develop, maintain, and optimize frontend and backend applications following best engineering practices. Build reusable and responsive UI components using Vue3, Bootstrap, TypeScript, HTML, and CSS. Develop robust backend services using PHP 8, ORMs (Eloquent, Doctrine), SQL Server, and MySQL. Design and implement RESTful APIs and microservices in asynchronous environments using RabbitMQ or other message brokers. Ensure high code quality through TDD, unit testing, and compliance with PSR-12, Psalm, and PHPStan standards. Apply DDD, Hexagonal Architecture, OOP, SOLID principles, and design patterns throughout all developments.