Field notes / Teardowns
Bombas teardown: the AI already knows it runs small, and the size picker does not
On the Women's Plush Sunday Slipper, an AI review summary says it runs small. That sentence lives below Add to Bag, under a closed Size and Fit accordion.
Bombas sells socks, underwear, T-shirts, and slippers online, and it donates a matching item for each one purchased. A CNBC interview in May 2025 with incoming CEO Jason LaRose said the company was profitable, had reached more than $2 billion in lifetime sales, and had grown revenue 22% in that fiscal year through April. The same piece said wholesale was about 7% of sales, with a goal of 10% to 20%, and that Bombas wanted to test physical stores. LaRose also told CNBC the company was looking beyond its direct-to-consumer roots.
The giving number is on Bombas's own site. The impact page says as of February 28, 2026 it had donated 204,002,196 items.
Shopify's Bombas case study covers an earlier move to Shopify Plus after the Magento store crashed around Shark Tank. The live site I fetched on October 30, 2026 still has Shopify in the stack, behind a custom Next.js storefront on Vercel. More on that at the end.
I went through bombas.com on October 30, 2026 and took screenshots as I went. This is what I saw, what I would change, and why.
What Bombas does well
The homepage sells a season, not a lecture. The hero I captured reads "The Cozy Shop," with "Shop Women" and "Shop Men" buttons, and a row of category tiles for Bralettes & Underwear, Socks, Slippers & Shoes, and T-Shirts (screenshot taken Oct 30, 2026). Mission sits in the main nav. For a brand whose catalog now includes more than socks, leading with one cozy story is the right default.

The product page puts the money facts and the mission in one column. On the Women's Plush Sunday Slipper in Limited Feather Beige Leopard, the page shows $95, limited and core color groups, a size grid with US ranges, a Size Guide link, Add to Bag, and "One Purchased = One Donated" directly under the button (screenshot taken Oct 30, 2026). Below that is an accordion for Free Shipping Over $75 + Free Returns, 4.4 from 600 reviews, Size & Fit Details, and Product & Material Details. That is the right pile of facts for this product. The CNBC piece called out the Sunday Slipper as part of the footwear push, which is why I opened this page.
Search already has the filters a sock shopper needs. A search for "ankle socks" showed Gender, Age, Sock Height, Material, Pack Size, and Category in the left rail (screenshot taken Oct 30, 2026). Plenty of stores have a search box and no way to split a pack from a single pair.
The reviews widget labels its AI. The review block on that slipper says "Customers say" and, in smaller type, "AI-generated from customer reviews" (screenshot taken Oct 30, 2026). A lot of brands hide that. Bombas puts it in the open.
The help center is a map, not a wall of FAQ text. The Help Center page I captured is eight tiles: Returns & Exchanges, Shipping & Tracking, 100% Happiness Guarantee, Find a Store, Size Details, FAQs, Email Preferences, and Your Account, with a Contact Us button under "Need More Help?" (screenshot taken Oct 30, 2026). Find a Store is in that list. Someone on this team knows stores are part of the story.
What Bombas does badly
The first thing on the homepage is a 20% off popup. On a fresh visit, a modal asked "Want 20% Off Your First Order?" with Yes, Please and No, I'll Continue Shopping, sitting on top of The Cozy Shop (screenshot taken Oct 30, 2026). The top banner already said "20% Off First Order with Code COMFORT20." Email is cheap. It is also covering the decision.

The AI already answered the fit question, and the size picker cannot see it. The review summary on the Women's Plush Sunday Slipper says the slipper "runs small," then mentions fit and heel height (screenshot taken Oct 30, 2026). On the buy column, Size & Fit Details is a closed accordion, and Add to Bag is enabled on size 5 with no note next to it (screenshot taken Oct 30, 2026). The useful sentence is on the page. It is just parked under the button.


Search is broad when the shopper already named a height. "ankle socks" returned 187 items (screenshot taken Oct 30, 2026). The first row mixed a $14.50 single, a $50.40 4-pack, and another $14.50 single. Sock Height, Material, and Pack Size are sitting in the left rail, unchecked. The shopper still has to do the sorting.

Find a Store is a help tile, not a product-page tool. The help page I captured includes Find a Store as one of eight cards (screenshot taken Oct 30, 2026). The slipper page I captured does not show nearby stock, a hold, or a store hours note. The CNBC interview said more than 60% of socks in the US are sold in physical locations, and that Bombas wanted wholesale and its own stores to do some of that work. The product page is where that system should show up.

Help is still a directory. Gladly is loaded on the site (more on that below), and there is a chat bubble on the pages I captured. The surface a worried shopper actually opens still looks like a list of links plus Contact Us.
How I'd improve it
My opinion: Bombas already paid for the expensive parts, which are the catalog, the review AI, Constructor on search, and Gladly on the domain. The work now is putting those on the product page at the moment the store currently says "Add to Bag."
1. Put the review summary next to the size you are about to pick. The page already says the slipper runs small. When size 5 is selected, open a short panel from that sentence: try 6, open the size guide, or jump to the Size topic in reviews. This is a small build. The data is already on the page.

2. Ask pack size and material on search before the 187-item grid. Two or three taps on top of "ankle socks": Single, 4-pack, Cotton, Merino wool. Constructor is already on the page. An AI layer can go one step further and read the query, so "ankle socks" does not return a $14.50 single and a $50.40 pack in the same row.

3. Put Find a Store on the product page. The help tile already exists. The CNBC interview is about selling socks where people already shop. Show nearby availability, or a hold, on the slipper page itself. I would not make people open Help to find a store.
4. Point Gladly at size and orders. "Does this run small?" and "where is my order" are the questions an assistant handles best. The help page can stay as the fallback. Email and Contact Us do not have to be the first move.
5. Give the 20% offer its own moment. Show it after someone has looked at a product, not as the first overlay on The Cozy Shop, and keep it off the size picker.
None of this needs a new platform. Shopify already holds the catalog. Yotpo already summarized the reviews. Constructor already has the facets. Gladly is already on the domain.
Technology detected
I fetched bombas.com on October 30, 2026, including the homepage, the Women's Plush Sunday Slipper product URL, search, and the help center. Unauthenticated curl of the homepage returned HTTP 429 from Vercel, so the notes below come from a real browser session: document response headers, loaded script URLs, cookies, page-source markers, and the reviews network calls. If a vendor was only a guess, I left it out. I could not confirm /cart.js as Shopify cart JSON because that route also hit the Vercel challenge.
Bombas storefront stack, checked Oct 30, 2026
| Piece | What I found | Evidence |
|---|---|---|
| Ecommerce | Shopify behind a custom storefront | window.Shopify is present. Scripts load from cdn.shopify.com, including shopifycloud/consent-tracking-api. Network calls go to monorail-edge.shopifysvc.com. Favicon files are served from cdn.shopify.com/s/files/1/1119/5850/. Routes use /products/ and /pages/. I did not get Shopify cart JSON from /cart.js because Vercel returned 429 to that fetch. |
| CDN / hosting | Vercel | The document response sends server: Vercel, x-vercel-id, and x-vercel-cache. The page loads /_vercel/insights/script.js. Unauthenticated curl of the homepage returned HTTP 429 with x-vercel-mitigated: challenge. |
| Frontend | Next.js | The document response sends x-powered-by: Next.js, x-matched-path: /, and Vary headers for rsc, next-router-state-tree, next-router-prefetch, and next-router-segment-prefetch. Scripts load from /_next/static/immutable/chunks/, including a turbopack chunk. |
| Content | Contentful | The homepage preconnects images.ctfassets.net. The Content-Security-Policy frame-ancestors list includes https://app.contentful.com. |
| Search | Constructor | The homepage preconnects cnstrc.com and loads cnstrc.com/js/cust/bombas_g7fHrD.js. Cookies include ConstructorioID_client_id, ConstructorioID_session_id, and ConstructorioID_session. The HTML includes constructor.io. |
| Reviews | Yotpo, including an on-page AI summary | cdn-widgetsrepository.yotpo.com/v1/loader/S583oi6v7ERuZuutMGFxLgv4PdLIXABCHUaE9f6y loaded, plus widget-reviews-main-widget and api-cdn.yotpo.com. window.Yotpo is present. A yotpo_pixel cookie is set. Yotpo events include reviews_summary. The Sunday Slipper screenshot from Oct 30, 2026 shows Customers say, labeled AI-generated from customer reviews. |
| Chat / support | Gladly | cdn.gladly.com/chat-sdk/widget.js loaded, plus cdn.gladly.com/orgs/configs/chat/bombas.com-US-production.json. The HTML includes gladly. The help page screenshot from Oct 30, 2026 shows Contact Us under Need More Help. |
| Analytics / testing | GTM, Heap, Hotjar, Datadog, Optimizely | platform.bombas.com/external/gtm.js?id=GTM-5GRQ4C loaded, plus gtag for G-0E9KH5KEC3. cdn.heapanalytics.com/js/heap-3152275293.js loaded. static.hotjar.com/c/hotjar-301611.js loaded. www.datadoghq-browser-agent.com us1 v6 datadog-rum.js loaded. cdn3.optimizely.com and platform.bombas.com/external/optimizely/js/10471338148.js loaded. window.dataLayer is present. |
| Email / SMS | Attentive | cdn.attn.tv/growth-tag-assets/client-configs/5aK.js loaded, plus bombas-us.attn.tv. window.attentive is present. Cookies include __attentive_id, __attentive_session_id, and __attn_eat_id. The homepage screenshot from Oct 30, 2026 shows a 20% off first-order modal. |
| Other loaded vendors | OneTrust, Yottaa, Forter, Riskified, Global-e, Braze, Contentsquare | cdn.cookielaw.org OneTrust stubs loaded, with OptanonConsent. rapid-cdn.yottaa.com loaded and is in the preconnect list. 7ce243a1e1a2.cdn4.forter.com/sn/.../script.js loaded, with a forterToken cookie. beacon.riskified.com/?shop=bombas loaded. web.global-e.com/Scripts/Merchants/globale.merchant.storefront.js loaded. js.appboycdn.com/web-sdk/5.4/braze.no-amd.min.js loaded. t.contentsquare.net/uxa/ loaded. |
Engineer's take
Next.js on Vercel is why this storefront can have a custom product page, Constructor search, and Yotpo reviews without waiting on a Liquid theme release. Shopify is still in the room: the Shopify global, the consent API, monorail, and the files CDN are all on the page I captured. That is a headless shape, not a brochure.
The friction is that the useful data is already on the page and the UI is not using it together. Yotpo already wrote "runs small." The size grid already knows size 5 is selected. Constructor already has pack size and material. Gladly is already on the domain. Wiring those into one panel is storefront work.
What I would watch: this page already loads GTM, Heap, Hotjar, Optimizely, Attentive, Datadog RUM, Forter, Riskified, Global-e, Yottaa, Braze, and Contentsquare. That is a lot of JavaScript in the same viewport as a 20% off modal and a size picker that is still closed. I would keep new embeds off the product page until the fit note is wired to the size you are about to buy.
Architect's take
I would not replatform this. The structural move is to treat review-derived fit, Constructor facets, and store finder as one record the product page can read. Shopify already holds the catalog. Next.js already renders the size grid. Yotpo already summarized the reviews. Gladly is already on the domain. The missing piece is a single path from "this runs small" or "I meant a 4-pack" into that record, instead of a popup, a closed accordion, and a help tile.
That is an AI layer on top of a store that already knows how to sell socks. The question is not whether Bombas has an assistant. It is whether the assistant can see the same facts the theme already has, at the size picker, before Add to Bag.
If you run a commerce brand and want this kind of review pointed at your own store, it is what my AI Opportunity Teardown is for. For $2,000 I spend a week on your site and data, and you get a written one-pager and a 15-minute Loom walking through where AI would actually move revenue and where it would not.
From the idea to the work
Make the workflow useful in a real product.
Bring a product idea, an internal tool, or an AI-assisted workflow that needs a working implementation.