Layers Blog
17 of 17
Why Your Synonym List is a Bug, Not a Feature
Synonym lists are a workaround for search that can't read language. The maintenance math, the exceptions worth keeping, and how to retire yours safely.
Tearing Down Shopify’s Product Network Tracking Script
Shopify’s Product Network tracking script is a clean example of reducing storefront analytics work before it starts. Here is what it does, and what we fixed after reading it.
Layers Closes Funding Round Led by LOI Venture for AI-Powered Shopify Plus Search
Shopify Plus-native search and merchandising platform secures investment to expand engineering team and scale go-to-market.
The 31% Zero-Result Problem: Where Your Shopify Plus Search Quietly Loses Revenue
Six mechanically distinct causes of zero-result rate on Shopify Plus, with a five-query audit you can run on your store today. By the Layers team.
Stop Making `/cart.js` Calls
Most Shopify tracking scripts send additional cart requests to determine cart contents. Ours does not. This article explains our approach and why common alternatives are less effective.
How We Evaluate Search Quality at Scale With LLM Judging and IR Metrics
Search is easy to ship, but hard to know when you’ve broken it.
How We Made Drag-and-Drop Sorting Faster with Fractional Weights
Every time a user dragged a product item to a new position in our Layers dashboard, we were re-sorting and renumbering the entire list. For a list of 100 items, that meant touching all 100 records on every single...
Reactivity Without the Re-Render Tax
Customer clicks a variant. React re-renders the whole product card. The image. The reviews. The breadcrumbs. All of it—just to update a price. Your cart drawer re-renders 47 components to change one number from 9 to 10.
The Hidden Failure Modes of Laravel + PgBouncer + PlanetScale
PlanetScale Postgres offers a managed, branch-native database layer for your Postgres nodes. This enables branch-based deployments, global replication, and connection multiplexing. However, it introduces failure...
Using Multiple PgBouncers to Isolate Application and Worker Connections
On February 27, we had a rough afternoon. Multiple waves of automated traffic hit our platform while several merchants were already in busy windows. We’d been mitigating it since mid-morning, but at 1:51 PM, the...
Signal-driven health monitoring for HNSW indices w/ pgvector
Vector search in PostgreSQL has come a long way, and pgvector makes it simple: insert embeddings, create an HNSW index, and run ANN queries. At least for a while.
How Layers Restores Real Merchandising Control Through Smarter Sort Logic
Collection pages guide how shoppers move through a store, yet most brands leave their sort order untouched.