Field notes / Teardowns
Kōv Essentials teardown: five fit questions, then an email wall before the size
Find Your Fit asked five hair questions, then asked for an email before it showed a size. After I skipped, it named Soul Clip in Black XL. That size was sold out.
I opened Find Your Fit on November 3, 2026, answered five questions about length, texture, styling, thickness, and density, and the next screen was "Your results are almost ready." It asked for an email and 10% off before it showed a clip or a size. After a Skip control appeared, the result named Soul Clip in Black, Best for your hair: XL. On the Soul Clip in Black page that same day, XL was disabled and Add to Cart was still pointed at S.
Kōv Essentials sells cellulose acetate claw clips, French pins, and related hair objects. The about page opens "Little objects, long lives," then a note from Chelsea: the brand started because she could not find a clip that worked for her hair. Shopify's March 19, 2026 interview names Chelsea Branch as founder and says a viral TikTok turned into more than $1 million in first-year sales with zero paid customer acquisition. The same piece says they are going through a rebrand in mid-2026 and staying in this niche. I went through the live store, /products.json, the quiz, contact, and the Replacement Promise to see how much of that a shopper can actually use.
What Kōv does well
The homepage sells a shape, not a lecture. The hero I captured is French Combs and Side Combs, "Two new shapes. Three ways to put it up," with a Shop Combs button. Find Your Fit sits in the main nav next to Shop All, Claw Clips, and French Pins (screenshot taken Nov 3, 2026). For a catalog that now includes clips, pins, cuffs, and combs, leading with one new silhouette is the right default.

Find Your Fit asks the questions a clip shopper actually has. The quiz landing page is a full-bleed photo, FIND YOUR FIT, and Start Quiz. Step 1 is hair length, with Short through Extra Long written in plain language (collarbone, bra line, hip bone). Later steps cover texture, how you wear a clip, thickness, and density. That is a real fit engine, not a vibe quiz.


The Soul Clip page already has the hard parts of a clip PDP. On Soul Clip in Black the buy column showed $27 USD, 4.8 from 354 reviews, color chips for Black, Cider, Deep Tortoise, Honey, Blonde Tortoise, and Spice, sizes S M L XL, a Fit Quiz link, Add to Cart, and a closed Replacement Promise row (screenshot taken Nov 3, 2026). The first sentence says the deep body holds more hair than any clip they make, with four sizes. Judge.me is on the page. That is the right pile of facts.

They already wrote a one-year defect promise, in public. The Replacement Promise page says if a clip has a manufacturing defect within one year of purchase, they will replace it. Policy and Initiating a claim sit as closed rows on that page. The FAQ repeats the term: one year for orders on or after June 23, 2026, six months before that, and it does not cover wear, misuse, or accidents. A shopper can read the rule before they write in.

Contact already splits the work. Contact us has separate lines for a return or exchange, a clip issue, PR at pr@kovessentials.com, wholesale at wholesale@kovessentials.com, and a leftover form. Returns and claims both point at Redo. That is more structure than most Shopify contact pages.
What Kōv does badly
The quiz holds the answer for an email. After the fifth question, the screen I captured said "Your results are almost ready," then "Enter your email to see your fit and receive 10% off your first order," with FIND MY FIT as the button (screenshot taken Nov 3, 2026). Skip was not visible on that first view. It faded in about six seconds later, as a small SKIP under the button. The primary path is still: answer five questions, then trade an email for the size those questions were for.


I used Skip. The result card named Daily Clip in Black (Best for your hair: XL), Soul Clip in Black (Best for your hair: XL), and Banana Clip in Honey (Best for your hair: Standard). It did not say Soul Clip XL in Black was sold out.

The recommended XL is the size you cannot buy in Black. /products.json?limit=250 the same day listed Soul Clip XL as unavailable in Black, Spice, Blonde Tortoise, and Deep Tortoise. Honey XL and Cider XL were available at $35. Daily Clip in Black XL was available. On the Black Soul Clip page, the XL input had class="disabled". S was checked. Add to Cart was live. There was no notify control on the disabled size.
A discount modal covers the size picker. On a later load of that product page, a "You've Got A Mystery Discount" overlay asked what brought me here, with four buttons, sitting on top of the size row (screenshot taken Nov 3, 2026). The quiz already asked for an email. This is a second interrupt on the same decision.

A lot of PDPs stop after one sentence. On the live Oval Barrette in Black page, the buy column was $28, 4.9 from 10 reviews, four color chips, and one sentence: "A clean, classic barrette in cellulose acetate, the finishing touch that holds as well as it looks." Specs and Material was closed. Icon Clip in Black was two sentences, then S M L. /products.json?limit=250 returned 108 products. 46 of those had body_html under 200 characters. 13 had an empty product_type, including vanity comb, creaseless clips, sunglasses, trays, the pouch, and the silk pillowcase.

Claims start at contact, then a Redo login. "Click here to start your claim" on contact goes to /apps/redo/account/login. That page is Returns, Exchanges, and Warranties, with email or order number, Google sign-in, or email sign-in, marked Powered by Redo. The Replacement Promise says to bring an order number and a photo of the defective item. It is not a no-questions swap. The policy is on the site. The shopper still has to log into a portal to start.


3 quick wins
1. Show the fit result before the email step. Source: Find Your Fit. What I saw: five answered questions, then an email field and 10% off, with Skip delayed. After Skip, the result was already a Daily Clip XL, a Soul Clip XL, and a Banana Clip. The fix: render that card first. Put the 10% code under it as optional. Why it matters: the quiz already did the expensive work. Holding the size for a list signup is how a shopper who came to solve hold leaves with a form.
2. When the named size is sold out, show the in-stock twin on the result and the PDP. Sources: the Skip result above, Soul Clip in Black, /products.json?limit=250. What I saw: Soul Clip in Black, Best for your hair: XL, with no sold-out label. XL unavailable in Black, Spice, Blonde Tortoise, and Deep Tortoise. Honey XL and Cider XL in stock. Daily Clip in Black XL in stock. The fix: on the result card and next to the disabled XL, say Honey XL and Cider XL are in, and Daily Clip XL is in. A person approves the substitution line. Why it matters: the quiz already picked XL. The page currently leaves Add to Cart on S.
3. Draft Replacement Promise decisions from the photo, against the written policy. Sources: contact, Replacement Promise, Redo login. What I saw: clip issues route to Redo. The policy covers manufacturing defects for one year (six months before June 23, 2026), requires an order number and a photo, excludes wear, misuse, and accidents, and is one claim per unit. The fix: an agent reads the photo and the order against that page, drafts replace, store credit, or refuse, and a person sends it. Why it matters: they already wrote the rule. The cost is a person rereading it on every ticket.
Managed AI agents
These are jobs I would actually run on this stack. Each one reads records they already have. A person still approves the step that sends money, a public reply, or a catalog change.
Customer support and fit questions. Reads: the five quiz answers, live variant availability, the Soul Clip and Daily Clip copy, the FAQ size and care answers, and Judge.me reviews (354 on Soul Clip in Black when I looked). Does: answers "what size for extra-long coily hair" from the same rules the quiz already uses, and will not recommend a sold-out XL without naming Honey, Cider, or Daily Clip. Human approves: send. Build path: Claude Agent SDK with a canUseTool callback so "send reply" is an ask rule, or Claude Managed Agents with a steer or interrupt on the send tool. OpenAI's Agents SDK documents human in the loop and guardrails. The Agents guide splits the hosted Agents API from the Responses API if they want to own the loop.
Merchandising. Reads: /products.json or the Shopify inventory API on a schedule. Does: flags Soul Clip XL gone in four colors, a quiz result card that still names Black, and a search or collection that ranks a sold-out size first. Drafts a "Honey XL is in" badge. A merchandiser publishes it.
Product content. Reads: the short body_html records (46 under 200 characters in the feed I pulled), the 13 untyped products, and the longer Soul Clip specs. Does: drafts a two-paragraph PDP, alt text where a gallery file is still empty, and a product type for vanity comb, creaseless clips, trays, pouch, sunglasses, and pillowcase. Human approves: publish to Shopify. Google's Gemini Enterprise Agent Platform documents a RAG Engine for grounding in private catalog text, which is the right shape here.
Ops, returns, inventory notes. Reads: Redo claims, the Replacement Promise page, and Klaviyo back-in-stock (the storefront already loaded Klaviyo onsite back-in-stock scripts). Does: labels a ticket as defect, wear, wrong size, or missing order, drafts the replacement or the restock email for Black XL, and stops before the send. A person still creates the Redo decision and the Klaviyo campaign.
None of that needs a new storefront. Shopify already holds the variants. The quiz already asks the questions. Redo already holds the claim. Judge.me already holds the reviews.
Before and after
The left column is the live email gate on November 3, 2026, right after the fifth question. The right column is a mockup. It is not a Kōv page. The result uses the Skip card I captured (Soul Clip in Black XL) and the stock I pulled from /products.json that day.

Technology detected
I fetched kovessentials.com on November 3, 2026, including the homepage, Find Your Fit through Skip, Soul Clip in Black, Oval Barrette, Icon Clip, contact, Replacement Promise, FAQ, about, /cart.js, /products.json?limit=250, and the Redo login. I listed only vendors I could see in response headers, loaded scripts, window.Shopify, or those payloads.
Kōv Essentials storefront stack, checked Nov 3, 2026
| Piece | What I found | Evidence |
|---|---|---|
| Ecommerce | Shopify | Homepage response sends powered-by: Shopify. Shopify.shop is kov-essentials.myshopify.com. /cart.js returns Shopify cart JSON. Scripts load from cdn.shopify.com. Routes use /products/ and /pages/. |
| CDN / hosting | Cloudflare in front of Shopify | Document response includes server: cloudflare and a cf-ray. Shopify also sends x-dc: gcp-us-west1. |
| Frontend | Madrid theme 1.6.1, customized | window.Shopify.theme.name is Side & French Combs - Madrid - October 26, 2026. schema_name Madrid, schema_version 1.6.1, theme_store_id 2870, id 189782261972, role main. Assets load from /cdn/shop/t/219/. |
| Catalog | 108 products, 13 with empty product_type | /products.json?limit=250 on Nov 3, 2026 returned 108 products. product_type was empty on 13. Soul Clip XL was unavailable in Black, Spice, Blonde Tortoise, and Deep Tortoise. Honey XL and Cider XL were available. |
| Fit quiz | Custom theme quiz, custom-quiz.js | /pages/quiz is template-page-custom-quiz. It loads /cdn/shop/t/219/assets/custom-quiz.js and quiz-uspl.css. After five questions the live page asks for email and 10% off. Skip appears later. Skip result on Nov 3, 2026 named Daily Clip in Black XL, Soul Clip in Black XL, and Banana Clip in Honey. |
| Reviews | Judge.me | cdnwidget.judge.me/widget_preloader.js loaded, plus cdn.shopify.com/extensions/.../judgeme-843/assets/loader.js. Homepage dns-prefetch includes cdn.judge.me, cdn1.judge.me, and api.judge.me. Soul Clip in Black screenshot from Nov 3, 2026 shows 4.8 from 354 reviews. |
| Email / SMS | Klaviyo company WJ78Ae, plus Postscript | static.klaviyo.com/onsite/js/WJ78Ae/klaviyo.js loaded. Klaviyo onsite back-in-stock scripts also loaded. sdk.postscript.io/sdk-script-loader.bundle.js and sdk.bundle.js loaded on the session. |
| Returns / warranty | Redo | Contact and Replacement Promise link to /apps/redo/account/login. shopify-extension.getredo.com/main.js loaded. The login screenshot from Nov 3, 2026 shows Returns, Exchanges, and Warranties, Powered by Redo. |
| Personalization / other apps | Blackcrow, Ushopaid, Awin | shopify-init.blackcrow.ai/js/core/kov-essentials.js loaded, plus api.blackcrow.ai events including pwo_decision. Ushopaid app and theme scripts loaded (Build Your Set). Awin affiliate embed loaded from CloudFront and /apps/awin/119627.js. |
| Payments / analytics | Shop Pay, Google Ads AW-10873684673, Facebook pixel, TikTok pixel | shop.app checkout scripts load. /cart.js is Shopify cart JSON. gtag loads AW-10873684673. connect.facebook.net/en_US/fbevents.js loaded. analytics.tiktok.com/i18n/pixel/shopify.js loaded. I did not find an on-page AI shopping assistant. |
Engineer's take
Madrid on Shopify is why this page can have four sizes, color chips, a custom quiz, and Judge.me counts without a separate app. Klaviyo, Redo, and Postscript are the right vendors for email, claims, and SMS if you are going to buy them.
The friction is that the useful data is already on the domain and the UI is not using it together. The quiz already mapped Extra Long / Coily / natural / Thick/coarse / High density to Soul Clip XL. The product payload already knew Black XL was out. Klaviyo already has a back-in-stock widget in the bundle. Redo already holds the claim. Wiring those into one panel is theme work.
What I would watch: this page already loads Klaviyo forms, Blackcrow, Ushopaid, Awin, Facebook, TikTok, Google Ads, Judge.me, Postscript, and Redo, plus a mystery discount modal on the product page. I would keep new embeds off the Soul Clip PDP until the result card and the disabled XL can show an in-stock twin.
Architect's take
I would not replatform this. The structural move is to treat quiz answers, size, color, availability, and the Replacement Promise as one record the product page and Redo can both read. Shopify already holds the variants. The quiz already asks the five questions. Judge.me already stores whether Soul Clip is carrying the hold story. Redo already stores the photo. The missing piece is a single path from "I need XL" into that record, instead of an email gate, a sold-out Black, and a portal login.
That is an AI layer on top of a store that already knows how to size a clip. The question is not whether Kōv has a quiz. It is whether the assistant can see the same stock the theme already has, at the size the quiz already named, before Add to Cart.
If you run a commerce brand and the expensive moment is a fit quiz that waits on an email, then names a size you cannot buy, 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 a fit result, a restock, or a claim, and where it would not. On a catalog like this, that week would start with Find Your Fit, the disabled XL, and the Redo login, not with a new chatbot.
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.