QR Code
OWT Web Services       http://owtweb.com
[Skip to Content]

Industry News

05/29/2025





















#​738 — May 30, 2025

Read on the Web





JavaScript Weekly








Wake Up, Remix! Everything's Changing.. — Big news from the Remix camp this week. About a year ago, Remix and React Router merged together reflecting their shared goals and code, but now it’s all change again. React Router is now basically what Remix originally intended to be, and so ‘Remix’ is rebooting as a model-first, low-dependency, Web API-centric full-stack framework built on Preact. It’ll no longer be a 'React framework' per se.


Michael Jackson and Ryan Florence






🕒 The Upcoming Temporal API and What Problems It Will Solve — The Temporal API has been cooking for many years now as a new way to work with dates and times in JavaScript. It’s just been enabled in Firefox 139 by default and sure to come to more runtimes ASAP. Here’s why it matters and what it offers.


Suren Enfiajyan






CodeRabbit’s Free AI Code Reviews in IDE - VS Code, Cursor, Windsurf — Code Rabbit brings AI code reviews to VS Code, Cursor & Windsurf. Get line-by-line reviews, one-click fixes & codebase-aware feedback - all free in your IDE. Seamlessly integrates with git workflows. Install the extension & start reviewing!


CodeRabbit sponsor






Announcing Angular v20 — A big release for the Google backed framework where a lot of the more recent experimental features (like signals and incremental hydration) have received a lot of polish and been promoted as stable. There are new experimental APIs too, including resource streaming and httpResource for making HTTP requests with a signal-based reactive API.


Minko Gechev




💡 While the official release post (above) is packed with content, you might appreciate this brief magic-themed roundup of what's new in Angular 20.



IN BRIEF:





RELEASES:




  • Bun v1.2.15 – Gains a bun audit tool for performing security audits of project dependencies.




  • Ink 6.0 – Use React to build CLI apps. Now supporting React 19.




  • Docusaurus v3.8 – Popular docs-oriented static site generator.




  • Ember 6.4, JSPM 4.0





📖  Articles





Why Are 2025/05/28 and 2025-05-28 Different Days in JavaScript? — An interesting ‘Wat’-like moment in just the first few lines of this post, which Brandon decided to dig into and explain.


Brandon Dong






▶  Modern Performance Debugging in Chrome DevTools — Paul shares a look at the reimagined Chrome DevTools Performance panel, showing off new features, how they work, and how to use them to make performance gains.


Paul Irish






Build an LMS SaaS App from Scratch — Learn to build a production-ready AI SaaS using Next.js with auth, billing, and an AI voice agent.


Clerk sponsor






React, Visualized: A Visual Exploration of React Concepts — The creators of a React course have updated their popular visual explainer of numerous core React concepts to cover React 19 and features like actions, transitions, and Server Components too.


Tyler McGinnis et al.






▶  The 3 Ways JavaScript Frameworks Render the DOM — The creator of the SolidJS framework looks at the different approaches frameworks take to render what they produce. A good look under the hood that isn’t too complex. (16 minutes.)


Ryan Carniato






Build a Blog with Angular in Under 30 Minutes Using AnalogAnalog is a meta-framework for Angular (think along the lines of Next.js or Nuxt).


Peter Mbanugo






Your React Meta-Framework Feels Broken, Here's Why“Sometimes you’ve got to burn it all down, start from ash, and rebuild from first principles. This is what we did with RedwoodSDK.”


Redwood Team




📄 No Server, No Database: Smarter Related Posts in Astro with Transformers.js Alexander Opalic


📄 A Thought on JavaScript 'Proof of Work' Anti-Scraper Systems Chris Siebenmann


📄 Multithreading in JavaScript with Web Workers Badmus Kola



🛠 Code & Tools








Svelte Flow 1.0: Create Node-Based UIs and Diagrams in Svelte — From the creators of the similar React Flow comes a customizable Svelte component for building node-based editors and interactive diagrams. Want examples?


webkid GmbH






Cap: A Lightweight, Modern Open Source CAPTCHA Alternative — This solution boasts a method called “proof-of-work” which attempts to make automated CAPTCHA solving more expensive. It uses a Web Component and you can try out a few demos here. GitHub repo.


Cap






Enterprise Requirements Slowing You Down? There’s a Better Way — WorkOS lets devs ship SSO, SCIM, audit logs & more—fast. Trusted by industry-leading teams like OpenAI, Vercel & Plaid.


WorkOS sponsor






Google Gen AI SDK for TypeScript and JavaScript v1 — Why let Python developers have all the fun? Now you can harness the full power of Google’s Gemini API (and Vertex platform) from Node.js too.


Google






ReactJust: Server Components Without a Framework — If, for some reason, you don’t want to adopt a full-scale framework like Next.js or React Router to use or experiment with RSCs, this ‘vanilla RSC’ approach could be of interest.


almadoro






  • NeutralinoJS 6.1 – Lightweight cross-platform desktop app framework.




  • Linkify 4.3 – Turn links, hashtags, and mentions in text to HTML links.




  • image-type 6.0 – Detect the image type of a Buffer/Uint8Array.




  • Faker 9.8 – Generate fabricated data to your heart's content.




  • file-type 21.0 – Detect the file type of a file, stream, or data.




  • Mineflayer 4.29 – Create Minecraft bots in JavaScript.










📰 Classifieds




Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc.



How Notion’s engineering team tackled viral user growth to run PostgreSQL at scale on Amazon RDS with pganalyze.






👀  Elsewhere..



Here's a selection of things from the broader ecosystem this week:











05/22/2025





















#​737 — May 23, 2025

Read on the Web





JavaScript Weekly








A Brief History of JavaScript — JavaScript (originally named LiveScript) turns thirty years old this year and the Deno team has put together a fantastic timeline-based tour of how much things have progressed from its first appearance in Netscape Navigator, through offshoots like JScript, standardization, and the introduction of Node.js, all the way through to the modern day.


The Deno Team






2x-40x Faster Docker Builds with Blacksmith — With a one-line code change, Blacksmith can make your Docker builds incremental by mounting your Docker layer cache into your GitHub Actions runner. Blacksmith is used by 600+ companies like Ashby, Clerk, and Mintlify.


Blacksmith sponsor






 Announcing TypeScript Native Previews — Earlier this year, Anders Hejlsberg teased a 10x faster TypeScript through efforts being made to port the TypeScript compiler to Go, enabling it to be compiled and run natively, as well as take advantage of more concurrency. The good news is you can now give it a.. go for yourself.


Microsoft






▶  An Introduction to JavaScript Frameworks — The creator of SolidJS has put together a tight 11-minute video boiling down the different approaches taken by React, Angular, Vue, Svelte, and Solid. Dense, but a great way to get a lay of the land.


Ryan Carniato




IN BRIEF:





RELEASES:




📖  Articles








▶  What's New in Angular — Two members of the Angular team presented a session at this week’s Google I/O event on the latest updates to the Angular framework in anticipation of the eventual release of Angular 20 next Thursday.


Chasanoff and Thompson (Google)






ESLint v9.0: A Retrospective — It’s been a year since ESLint v9.0 landed as the first major release in a few years. It enabled the new flat-config system by default and the rollout didn’t go as smoothly as hoped. This retrospective breaks down the full story and shares the lessons learned.


Nicholas C. Zakas






Getting Started with Clerk Billing — Learn how to build a complete billing experience with Clerk and Stripe, no custom UI or webhooks required.


Clerk sponsor






Six Ways Slack, Notion, and VS Code Improved Electron App Performance — An experienced Electron app developer shares a guide to Electron performance optimization and how to get the most out of your apps.


Amila Welihinda




📄 How the at() Method Makes Array Indexing Easier Matt Smith


📄 Styling Console Text in Node.js Dr. Axel Rauschmayer


📄 Authenticating JavaScript WebSockets Steven Waterman



🛠 Code & Tools





Defuddle: Extract the Main Content from Web Pages — Strips extraneous clutter from HTML in order to leave only the primary content for you to format or use as you wish. Essentially a modern implementation of the ideas behind Mozilla’s Readability. There’s an online demo if you want to give it a try.


Steph Ango






snapDOM: Captures DOM Nodes as Images — A fast and accurate DOM-to-image capture mechanism to capture any HTML element as a scalable SVG image, preserving styles, fonts, background images, etc.


ZumerLab






AI-Powered Code Reviews for JavaScript Teams — CodeRabbit helps you ship cleaner JavaScript by reviewing every PR with AI that understands your codebase.


CodeRabbit sponsor






ForesightJS: Predictive Mouse Intent Library — An interesting concept, with the entire page acting as a demo of sorts. The idea is to decrease latency by prefetching data or pages as soon as you think a user might be heading in that direction. Your mileage may vary and it’s less useful for touch devices.


ForesightJS, Inc.






Astra: A New JavaScript-to-EXE Compiler for Windows — Boasts “a new approach to compiling” JavaScript applications for a single executable experience on Windows only (for now).


QwertyCodeQC






Crosspost: A JS Utility for Posting Across Multiple Social Networks — Currently supports eight different services including Bluesky, X, Mastodon, and LinkedIn.


Nicholas C. Zakas






Rockpack 6.0: An Alternative React App Starter — A tool aiming to get React project setup time as low as possible, complete with server side rendering support, bundling, linting and testing. v6.0 updates everything for React 19. GitHub repo.


Alex Sergey











📰 Classifieds




Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc.



Build a professional design system in less than a day, using Hope AI, new model by Bit.Cloud. Enjoy reusable UI components ready for import.






👀  Elsewhere..



Here's a selection of things from the broader ecosystem this week:











05/15/2025





















#​736 — May 16, 2025

Read on the Web





JavaScript Weekly








'I Think the Ergonomics of Generators is Growing on Me' — The author notes generator functions have been widely available in JavaScript for a long time, yet “their practicality hasn’t exactly caught on.” This is a great look at what they are and where they can be useful.


Alex MacArthur






JavaScript's New Superpower? Explicit Resource Management — V8 v13.8 introduces the idea of deterministic resource cleanup. Among a range of new symbols and objects for the task, the basic idea is you can wrap any file handle, stream or connection in a using/await using block and the runtime will handle any cleanup once resources go out of scope.


Rezvan Mahdavi Hezaveh (V8)






Write CSS Like a Pro — Kevin Powell shares how to create a responsive website from scratch using modern CSS features (such as nesting, utility classes, custom properties, and more). This detailed video course also dives into adding additional polish via animations, view transitions, and more.


Frontend Masters sponsor






Basecoat: shadcn/ui's Magic, But Minus Reactshadcn/ui is a popular suite of well designed React components, but if you’d like to use them in other contexts too, Basecoat is for you. Basecoat ports the components to a more vanilla form you can use with your framework (or not) of choice.


Ronan Berder




IN BRIEF:





RELEASES:




📖  Articles





JavaScript, When (and What) is this? — Dives into the complexities of the this keyword, explaining how its value is ultimately determined by the context in which a function is called, rather than where it’s defined. It’s been many years since we’ve covered this elementary topic, but this is a fantastic, fresh two-part take.


Mat 'Wilto' Marquis






How We Debugged a Broken Checkout Flow in Flask + React — Dropped carts = lost revenue. See how Sentry tracing can catch a full-stack bug in a Flask + React checkout flow—before it can become a support fire drill.


Sentry sponsor






Building a React App with GitHub Copilot — A good walkthrough, complete with video, if you prefer, of bringing together several of GitHub Copilot’s features for building a modern JavaScript app quickly.


Kedasha Kerr (GitHub)






Regular Expressions in JavaScript — Powerful but often misunderstood, many will benefit from this roundup of the potential regexes offer to JavaScript developers.


Adebayo Adams




📄 Robust Data Fetching Architecture for Complex React/Next.js Apps Trevor I. Lasn


▶️ Native and RxJS Observables: A Direct Comparison Rainer Hahnekamp


📄 Angular's httpResource in the Wild – A modern way to make HTTP requests in Angular. DrDreo


📄 Node.js 24 is Here: What You Need to Know Lizz Parody


📄 Building the Bridge: Running JavaScript Modules from Dart Chima Precious



🛠 Code & Tools








ANSIS 4.0: ANSI Color Library for Everywhere — A library to use the power of ANSI escape sequences for coloring and styling text in many environments including the terminal, Chromium-based browsers, Node, Bun, Deno, and even Next.js. v4.0 is a big upgrade with enough breaking changes to warrant a migration guide for existing users.


webdiscus






TanStack DB: A Reactive Client Store with Fast Real-Time Sync — A new entry to the TanStack family of libraries that extends TanStack Query with collections, live queries and optimistic mutations.


TanStack






Introducing Clerk Billing — Set up subscriptions in your B2B or B2C app without writing custom payment code or building your own UI.


Clerk sponsor






Svelte Sonner: A Toast Notification Component for Svelte — You may be familiar with the fantastic Sonner in the React world – now there’s a Svelte version.


Robert Soriano






tscircuit: Use React for Building Electronics Projects — An interesting way to design and lay out electronic circuit boards using a JSX-based approach. GitHub repo.


tscircuit Inc.






jsdiff 8.0: A JavaScript Text Diffing Implementation — Can compare strings for differences in various ways including creating patches. There’s an online demo.


Kevin Decker






Feedsmith: A Fresh New Web Feed Parser and Generator — A new, modern way to both parse and generate RSS, Atom, JSON Feed, OPML, and RDF feeds with support for common namespaces as used in podcast, media, and other niche types of feed.


Maciej Lamberski











📰 Classifieds




Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc.



Build a professional design system in less than a day, using Hope AI, new model by Bit.Cloud. Enjoy reusable UI components ready for import.






👀 This could be useful..








Fx 36.0: A Command-Line JSON Viewer & Processing Tool — It's written in Go, but if you’ve got some files full of JSON that you want to slice and dice, Fx is for you (it's easy to install). This week's v36 release adds support for streaming JSON and tailing such streams, it’s also much faster and less memory hungry when parsing large JSON files. A solid update for a handy tool.


Anton Medvedev





P.S. If you're into React or Node.js, we focus more directly on those in React Status and Node Weekly respectively, so check out the latest issues of those too :-)










05/15/2025

For as broad and difficult of a problem running a search engine is and how many competing interests are involved, when Matt Cutts was at Google they ran a pretty clean show. Some of what they did before the algorithms could catch up was of course fearmongering (e.g. if you sell links you might be promoting fake brain cancer solutions) but Google generally did a pretty good job with the balance between organic and paid search.


Early in search ads were clearly labeled, and then less so. Ad density was light, and then less so.


It appears as a somewhat regular set of compounded growth elements on the stock chart, but it is a series of decisions. What to measure, what to optimize, what to subsidize, and what to sacrifice.


Savvy publishers could ride whatever signals were over-counted (keyword repetition, links early on, focused link anchor text, keyword domains, etc.) and catch new tech waves (like blogging or select social media channels) to keep growing as the web evolved. In some cases what was once a signal of quality would later become an anomaly ... the thing that boosted your rank for years eventually started to suppress your rank as new signals were created and signals composed of ratios of other signals got folded into ranking and re-ranking.


Over time as organic growth became harder the money guys started to override the talent, like in 2019 when a Google yellow flag had the ads team promote the organic search and Chrome teams intentionally degrade user experience to drive increased search query volume:



“I think it is good for us to aspire to query growth and to aspire to more users. But I think we are getting too involved with ads for the good of the product and company.” - Googler Ben Gnomes


A healthy and sustainable ecosystem relies upon the players at the center operating a clean show.


If they decide not to, and eat the entire pie, things fall apart.


One set of short-term optimizations is another set of long-term failures.


The specificity of an eHow article gives it a good IR score, and AdSense pays for a thousand similar articles to be created, then the "optimized" ecosystem gets a shallow sameness, which requires creating new ranking signals.


In the last quarter, Q1 of 2025, it was the first time the Google partner network represented less than 10% of Google ad revenues in the history of the company.



Google's fortunes have never been more misaligned with web publishers than they are today. This statement becomes more true each day that passes.


That ecosystem of partners is hundreds of thousands of publishers representing millions of employees. Each with their own costs and personal optimization decisions.


Publishers create feature works which are expensive, and then cross-subsidize the most expensive work with cheaper & more profitable works. They receive search traffic to some type of pages which are seemingly outperforming today and think that is a strategy which will help them into the future, though hitting the numbers today can mean missing them next year, as the ranking signal mix squeezes out profits from those "optimizations," and what led to higher traffic today becomes part of a negative sitewide classifier the lowers rankings across the board in the future.


Last August Googler Ryan Moulton published a graph of newspaper employees from 2010 until now, showing about a 70% decline. The 70% decline also doesn't factor in that many mastheads have been rolled up by private equity players which lever them up on debt and use all the remaining blood to pay interest payments - sometimes to themselves - while stiffing losses from the underfunded pension plans on other taxpayers.


The quality of the internet that we've enjoyed for the last 20 years was an overhand from when print journalism still made money. The market for professionally written text is now just really small, if it exists at all.


Ryan was asked "what do you believe is the real cause for the decline in search quality, then? Or do you think there hasn't been a decline?"


His now deleted response stated "It's complicated. I think it's both higher expectations and a declining internet. People expect a lot more from their search results than they used to, while the market for actually writing content has basically disappeared."



The above is the already baked cake we are starting from.


The cake were blogs were replaced with social feeds, newspapers got rolled up by private equity players, larger broad "authority" branded sites partner with money guys to paste on affiliate sections, while indy affiliate sites are buried ... the algorithmic artifacts of Google first promoting the funding of eHow, then responding to the success of entities like Demand Media with Vince, Panda, Penguin, and the Helpful Content Update.


The next layer of the icky blurry line is AI.


“We have 3 options: (1) Search doesn’t erode, (2) we lose Search traffic to Gemini, (3) we lose Search traffic to ChatGPT. (1) is preferred but the worst case is (3) so we should support (2)” - Google's Nick Fox


So long as Google survives, everything else is non-essential. ;)



AI overview distribution is up 116% over the past couple months.



Google features Reddit *a lot* in their search results. Other smaller forums, not so much. A company consisting of many forums recently saw a negative impact from algorithm updates earlier this year.



Going back to that whole bit about not fully disclosing economic incentives risks promoting brain cancer ... well how are AI search results constructed? How well do they cite their sources? And are the sources they cited also using AI to generate content?


"its gotten much worse in that "AI" is now, on many "search engines", replacing the first listings which obfuscates entirely where its alleged "answer" came from, and given that AI often "hallucinates", basically making things up to a degree that the output is either flawed or false, without attribution as to how it arrived at that statement, you've essentially destroyed what was "search." ... unlike paid search which at least in theory can be differentiated (assuming the search company is honest about what they're promoting for money) that is not possible when an alleged "AI" presents the claimed answers because both the direct references and who paid for promotion, if anyone is almost-always missing. This is, from my point of view anyway, extremely bad because if, for example, I want to learn about "total return swaps" who the source of the information might be is rather important -- there are people who are absolutely experts (e.g. Janet Tavakoli) and then there are those who are not. What did the "AI" response use and how accurate is its summary? I have no way to know yet the claimed "answer" is presented to me." - Karl Denninger


The eating of the ecosystem is so thorough Google now has money to invest in Saudi Arabian AI funds.


Periodically ViperChill highlights big media conglomerates which dominate the Google organic search results.


One of the strongest horizontal publishing plays online has been IAC. They've grown brands like Expedia, Match.com, Ticketmaster, Lending Tree, Vimeo, and HSN. They always show up in the big publishers dominating Google charts. In 2012 they bought About.com from the New York Times and broke About.com into vertical sites like The Spruce, Very Well, The Balance, TripSavvy, and Lifewire. They have some old sites like Investopedia from their 2013 ValueClick deal. And then they bought out the magazine publisher Meredith, which publishes titles like People, Better Homes and Gardens, Parents, and Travel + Leisure. What does their performance look like? Not particularly good!


DDM reported just 1% year-over-year growth in digital advertising revenue for the quarter. It posted $393.1 million in overall revenue, also up 1% YOY. DDM saw a 3% YOY decline in core user sessions, which caused a dip in programmatic ad revenue. Part of that downturn in user engagement was related to weakening referral traffic from search platforms. For example, DDM is starting to see Google Search’s AI Overviews eat into its traffic.


Google's early growth was organic through superior technology, then clever marketing via their toolbar, and later a set of forced bundlings on Android combined with payolla for default search placements in third party web browsers. A few years ago the UK government did a study which claimed if Microsoft gave Apple a 100% revshare on Bing they still couldn't compete with the Google bid for default search placement in Apple Safari.


Microsoft offered over a 100% ad revshare to set Bing as the default search engine and went so far as discussing selling Bing to Apple in 2018 - but Apple stuck with Google's deal.


In search, if you are not on Google you don't exist.



As Google grew out various verticals they also created ranking signals which in some cases were parasitical, or in other cases purely anticompetitive. To this day Google is facing billions in of dollars in new suits across Europe for their shopping search strategy.


The Obama administration was an extension of Google, so the FTC gave Google a pass in spite of discovering some clearly anticompetitive behavior with real consumer harm. The Wall Street Journal published a series of articles from getting half the pages of the FTC research into Google's conduct:


"Although Google originally sought to demote all comparison shopping websites, after Google raters provided negative feedback to such a widespread demotion, Google implemented the current iteration of its so-called 'diversity' algorithm."


What good is a rating panel if you get to keep re-asking the questions again in a slightly different way until you get the answer you want? And then place a lower quality clone front and center simply because it is associated with the home team?


"Google took unusual steps to "automatically boost the ranking of its own vertical properties above that of competitors,” the report said. “For example, where Google’s algorithms deemed a comparison shopping website relevant to a user’s query, Google automatically returned Google Product Search – above any rival comparison shopping websites. Similarly, when Google’s algorithms deemed local websites, such as Yelp or CitySearch, relevant to a user’s query, Google automatically returned Google Local at the top of the [search page].”"


The forced ranking of house properties is even worse when one recalls they were borrowing third party content without permission to populate those verticals.


Now with AI there is a blurry line of borrowing where many things are simply probabilistic. And, technically, Google could claim they sourced content from a third party which stole the original work or was a syndicator of it.


As Google kept eating the pie they repeatedly overrode user privacy to boost their ad income, while using privacy as an excuse to kneecap competing ad networks.


Remember the old FTC settlement over Google's violation of Safari browser cookies? That is the same Google which planned on depreciating third party cookies in Chrome and was even testing hiding user IP addresses so that other ad networks would be screwed. Better yet, online business might need to pay Google a subscription fee of some sort to efficiently filter through the fraud conducted in their web browser.


HTTPS everywhere was about blocking data leakage to other ad networks.


AMP was all about stopping header bidding. It gave preferential SERP placement in exchange for using a Google-only ad stack.


Even as Google was dumping tech costs on publishers, they were taking a huge rake of the ad revenue from the ad serving layer: "Google's own documents show that Google has siphoned off thirty-five cents of each advertising dollar that flows through Google's ad tech tools."



After acquiring DoubleClick to further monopolize the online ad market, Google merged user data for their own ad targeting, while hashing the data to block publishers from matching profiles:


"In 2016, as part of Project Narnia, Google changed that policy, combining all user data into a single user identification that proved invaluable to Google's efforts to build and maintain its monopoly across the ad tech industry. ... After the DoubleClick acquisition, Google "hashed" (i.e., masked) the user identifiers that publishers previously were able to share with other ad technology providers to improve internet user identification and tracking, impeding their ability to identify the best matches between advertisers and publisher inventory in the same way that Google Ads can. Of course, any puported concern about user privacy was purely pretextual; Google was more than happy to exploit its users' privacy when it furthered its own economic interests."



In terms of cost, I really don't think the O&O impact has been understood too, especially on YouTube. - Googler David Mitby


Did we tee up the real $ price tag of privacy? - Googler Sissie Hsiao


Google continues to spend billions settling privacy-related cases. Settling those suits out of court is better than having full discovery be used to generate a daisy chain of additional lawsuits.


As the Google lawsuits pile up, evidence of how they stacked the deck becomes more clear.


Categories: 
05/15/2025

On February 18, 2025 Google's Hyung-Jin Kim was interviewed about Google's ranking signals. Below are notes from that interview.


"Hand Crafting" of Signals


Almost every signal, aside from RankBrain and DeepRank (which are LLM-based) are hand-crafted and thus able to be analyzed and adjusted by engineers.



  • To develop and use these signals, engineers look at data and then take a sigmoid or other function and figure out the threshold to use. So, the "hand crafting" means that Google takes all those sigmoids and figures out the thresholds.

    • In the extreme hand-crafting means that Google looks at the relevant data and picks the mid-point manually.
    • For the majority of signals, Google takes the relevant data (e.g., webpage content and structure, user clicks, and label data from human raters) and then performs a regression.




Navboost. This was HJ's second signal project at Google. HJ has many patents related to Navboost and he spent many years developing it.


ABC signals. These are the three fundamental signals. All three were developed by engineers. They are raw, ...



  • Anchors (A) - a source page pointing to a target page (links). ...

  • Body (B) - terms in the document ...

  • Clicks (C) - historically, how long a user stayed at a particular linked page before bouncing back to the SERP. ...


ABC signals are the key components of topicality (or a base score), which is Google's determination of how the document is relevant to a query.



  • T* (Topicality) effectively combines (at least) these three ranking signals in a relatively hand-crafted way. ... Google uses to judge the relevance of the document based on the query term.

  • It took a significant effort to move from topicality (which is at its core a standard "old style" information retrieval ("IR") metric) ... signal. It was in a constant state of development from its origin until about 5 years ago. Now there is less change.

    • Ranking development (especially topicality) involves solving many complex matheivlatical problems.

    • For topicality, there might be a team of ... engineers working continuously on these hard problems within a given project.




The reason why the vast majority of signals are hand-crafted is that if anything breaks Google knows what to fix. Google wants their signals to be fully transparent so they can trouble-shoot them and improve upon them.



  • Microsoft builds very complex systems using ML techniques to optimize functions. So it's hard to fix things - e.g., to know where to go and how to fix the function. And deep learning has made that even worse.

  • This is a big advantage of Google over Bing and others. Google faced many challenges and was able to respond.

    • Google can modify how a signal responds to edge cases, for example in response to various media/public attention challenges ...

    • Finding the correct edges for these adjustments is difficult, but would be easy to reverse engineer and copy from looking at the data.




Ranking Signals "Curves"


Google engineers plot ranking signal curves.


The curve fitting is happening at every single level of signals.


lf Google is forced to give information on clicks, URLs, and the query, it would be easy for competitors to figure out the high-level buckets that compose the final IR score. High- level buckets are:



  • ABC — topicality

    • Topicality is connected to a given query



  • Navboost

  • Quality

    • Generally static across multiple queries and not connected to a specific query.

    • However, in some cases Quality signal incorporates information from the query in addition to the static signal. For example, a site may have high quality but general information so a query interpreted as seeking very narrow/technical information may be used to direct to a quality site that is more technical.




Q* (page quality (i.e., the notion of trustworthiness)) is incredibly important. lf competitors see the logs, then they have a notion of “authority” for a given site.


Quality score is hugely important even today. Page quality is something people complain about the most.



  • HJ started the page quality team ~ 17 years ago.

  • That was around the time when the issue with content farms appeared.

    • Content farms paid students 50 cents per article and they wrote 1000s of articles on each topic. Google had a huge problem with that. That's why Google started the team to figure out the authoritative source.

    • Nowadays, people still complain about the quality and AI makes it worse.




Q* is about ... This was and continues to be a lot of work but could be easily reverse engineered because Q is largely static and largely related to the site rather than the query.


Other Signals



  • eDeepRank. eDeepRank is an LLM system that uses BERT, transformers. Essentially, eDeepRank tries to take LLM-based signals and decompose them into components to make them more transparent. HJ doesn't have much knowledge on the details of eDeepRank.

  • PageRank. This is a single signal relating to distance from a known good source, and it is used as an input to the Quality score.

  • ... (popularity) signal that uses Chrome data.


Search Index



  • HJ's definition is that search index is composed of the actual content that is crawled - titles and bodies and nothing else, i.e., the inverted index.

  • There are also other separate specialized inverted indexes for other things, such as feeds from Twitter, Macy's etc. They are stored separately from the index for the organic results. When HJ says index, he means only for the 10 blue links, but as noted below, some signals are stored for convenience within the search index.

  • Query-based signals are not stored, but computed at the time of query.

    • Q* - largely static but in certain instances affected by the query and has to be computed online (see above)



  • Query-based signals are often stored in separate tables off to the side of the index and looked up separately, but for convenience Google stores some signals in the search index.

    • This way of storing the signals allowed Google to ...




User-Side Data


By User Side Data, Google's search engineers mean user interaction data, not the content/data that was created by users. E.g., links between pages that are created by people are not User Side data.


Search Features



  • There are different search features - 10 blue links as well as other verticals (knowledge panels, etc). They all have their own ranking.

  • Tangram (fka Tetris). HJ started the project to create Tangram to apply the basic principle of search to all of the features.

  • Tangram/Tetris is another algorithm that was difficult to figure out how to do well but would be easy to reverse engineer if Google were required to disclose its click/query data. By observing the log data, it is easy to reverse engineer and to determine when to show the features and when to not.

  • Knowledge Graph. Separate team (not H/’s) was involved in its development.

  • Knowledge Graph is used beyond being shown on the SERP panel.

    • Example — “porky pig” feature. If people query about the relation of a famous person, Knowledge Graph tells traditional search the name of the relation and the famous person, to improve search results - Barack Obama's wife's height query example.



  • Self-help suicide box example. Incredibly important to figure it out right, and tons of work went into it, figuring out the curves, threshold, etc. With the log data, this could be easily figured out and reverse engineered, without having to do any of the work that Google did.


Reverse Engineering of Signals


There was a leak of Google documents which named certain components of Google's ranking system, but the documents don't go into specifics of the curves and thresholds.


The documents alone do not give you enough details to figure it out, but the data likely does.


Categories: 
05/08/2025





















#​735 — May 9, 2025

Read on the Web





JavaScript Weekly








k6 1.0: Go-Powered Load Testing with JavaScript — A full-featured, configurable load generation tool that uses the Sobek Go-powered JavaScript engine to support writing test scripts in JavaScript. v1.0 promises stability, first-class TypeScript support, and better extensibility.


Grafana Labs






JSON-Powered White-Label Form Builder for Your JavaScript App — Build dynamic JSON-driven forms in your JavaScript application with SurveyJS — a fully customizable, drag-and-drop form-building UI component. It integrates seamlessly with React, Angular, and Vue 3, and has no backend limitations. Perfect for form-heavy apps.


SurveyJS sponsor






Node 24 (Current) ReleasedNode’s release lines are shifting a little lately – v18 has gone EOL and now v23 gives way to v24 as the ‘Current’ release for when you need the cutting edge features. It comes with npm 11, V8 13.6 (hello RegExp.escape, Float16Array, and Error.isError), the URLPattern API exposed by default, plus Undici 7.


Node.js Team




💡 Technically, Node v24.0.1 is the latest version temporarily reintroducing an EOL feature due to breakages in popular dependencies.





Visual Studio Code Version 1.100 — Not to be confused with a 1.1 release, this update to VS Code has quite a few goodies for JavaScript developers with improved ‘Next Edit Suggestions’ that will suggest adding missing imports, support for Node’s enhanced network debugging capabilities, improved visibility of type information, remote MCP server support, GPT 4.1 as the new default base model, and more.


Microsoft




IN BRIEF:





RELEASES:




  • 🤖 ESLint v9.26.0 – An interesting release for the popular static analysis tool as it adds support for MCP as a way for ESLint to be used directly by AI models and coding agents.




  • 🗾 Mapbox GL JS 3.12 – Interactive, customizable vector maps in the browser, rendered with WebGL.




  • Relay v19 – Facebook's declarative React/GraphQL framework.




  • Material UI 7.1 – React components using Material Design. Now Tailwind CSS 4 compatible




  • Rspack 1.3.9, Babylon.js 8.7, Electron 36 (official blog post)





📖  Articles





The Power of the Spread and Rest Syntax — A quick run through the opportunities opened up with just three little dots ...


Matt Smith






React Server Components for Astro DevelopersAstro’s ‘island’ architecture and React Server Components share a strikingly similar mental model. Dan compares the two, digs into some of the quirks, and suggests Astro offers a ‘gentler onramp’ to some of RSC’s ideas if you’re struggling with them.


Dan Abramov






Wallaby MCP: Deep Runtime Context for Your AI Agent — Wallaby gives your AI agent live execution data, dynamic coverage, and real-time insights to fix and generate tests, and write code with confidence.


Wallaby Team sponsor






Migrating a Project from Prettier and ESLint to Biome — Prettier and ESLint are staples in many JavaScript build processes, but Biome offers an interesting ‘one stop shop’ alternative.


Damilola Olatunji




📄 'Electron Ain't Bad, Actually' – Worth re-reading next time you see the clichéd criticisms of Electron. Vaxry


📺 The React Compiler Explained in Three Minutes Better Stack


📄 You're Misunderstanding DDD in Angular Tomasz Ducin


📄 The Story of Fastify + Vue Jonas Galvez



🛠 Code & Tools








HelloCSV: A Drop-In, CSV Importing Workflow for JS Apps — If you or your users have CSV files to import, here’s a complete CSV importing workflow for the frontend that you can drop into your app. Basic docs.


HelloCSV






PptxGenJS 4.0: Build PowerPoint Presentations with JavaScript — A mature library that outputs standards-compliant Open Office XML files compatible with PowerPoint, Apple Keynote, and other common presentation tools. Supports graphics, text, tables, and other typical slide objects. Lots of demos.


Brent Ely






Introducing Clerk Billing — Clerk Billing lets you add B2C/B2B subscriptions with no payment code or UI work—just drop in components and go.


Clerk sponsor






Mantine 8.0: The Full Featured React Components LibraryMantine is one of the most celebrated React components libraries, and for good reason: it’s full featured, modern, and looks great. v8.0 ups its chart game with a little Recharts magic, adds over twenty new components (including a GitHub-style Heatmap, Tree and SemiCircleProgress), submenus, and much more.


Vitaly Rtishchev et al.






Hyparquet: Parquet File Parser for JavaScript — Parquet is a popular column-oriented data file format frequently used for storing large datasets for analysis. Hyparquet is a dependency-free JavaScript library for working with Parquet files, even in the browser (as in this demo).


Hyperparam






🔊 react-sounds: Add Sound Effects to React Apps — Having sound effects on the Web might sound like your idea of a nightmare, but this is a well put together project with delicate, well thought out examples that strike the right tone.


Aedilic Inc.






mono-jsx: <html> as a Response — A server-side JSX runtime that renders <html> to a Response with no build step needed and works across numerous server-side JS runtimes.


Je Xia











📰 Classifieds




Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort. Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc.



🕹️ Craft delightful games that change how the world learns as an engineer at Brilliant. Remote/NYC/SF: brilliant.org/careers/






👀  Elsewhere..



Here's a selection of things from the broader ecosystem we've noticed this week:






P.S. If you're into React or Node.js, we focus more directly on those in React Status and Node Weekly respectively, so check out the latest issues of those too :-)