P06 · Experience · Rendered from source

top companies

Design taste and preference learner

114 lines65,346 bytessha256 f5c25f30bf5e
Netflix title pickerrecord 1
{
  "id": "C001",
  "kind": "company",
  "name": "Netflix title picker",
  "url": "https://help.netflix.com/en/node/100639",
  "category": "media-cold-start",
  "evidence_class": "observed",
  "source": "Netflix Help Centre 'How Netflix's Recommendations System Works'",
  "observed": "2026-08-27",
  "claim": "Multi-select grid of titles at profile creation; explicitly OPTIONAL — skipping falls back to a diverse popular set; later engagement 'supersedes' the initial picks, recent outweighing old. Count unstated; single screen, non-adaptive.",
  "limitations": "Vendor help page describes behaviour but does not state a title count or how the seed is weighted.",
  "disposition": "STEAL — the documented supersession rule is the cleanest published answer to preference drift"
}
Netflix Taste Preferences surveyrecord 2
{
  "id": "C002",
  "kind": "company",
  "name": "Netflix Taste Preferences survey",
  "url": "https://help.netflix.com/en/node/100639",
  "category": "media-cold-start",
  "evidence_class": "observed",
  "source": "Netflix Help Centre",
  "observed": "2026-08-27",
  "claim": "Separate always-available survey under Account > My Profile covering Moods, Genre, Release Date, Language; user-initiated, no stopping rule.",
  "limitations": "Mechanics beyond the category list not documented.",
  "disposition": "study — precedent for a re-entrant preference surface distinct from onboarding"
}
Spotify onboarding artist pickerrecord 3
{
  "id": "C003",
  "kind": "company",
  "name": "Spotify onboarding artist picker",
  "url": "https://community.spotify.com/t5/Android/Where-can-I-find-the-starting-artist-choosing-screen-after/td-p/5181629",
  "category": "media-cold-start",
  "evidence_class": "inferred",
  "source": "Spotify Community thread + two PM teardowns (Medium)",
  "observed": "2026-08-27",
  "claim": "Multi-select grid, minimum 3 artists, presented before first home screen; described as cyclic (selection then refinement). No documented outside option.",
  "limitations": "NOT vendor-documented. The minimum-3 figure comes from community/PM posts, not Spotify docs. Community thread confirms the screen is not re-accessible later.",
  "disposition": "study — the non-re-entrant design is a documented user complaint worth avoiding"
}
Apple Music bubble pickerrecord 4
{
  "id": "C004",
  "kind": "company",
  "name": "Apple Music bubble picker",
  "url": "https://www.apple.com/apple-music/",
  "category": "media-cold-start",
  "evidence_class": "hypothesis",
  "source": "known surface; not verified this session",
  "observed": "2026-08-27",
  "claim": "Genre/artist bubble multi-select at onboarding, tap-to-grow weighting.",
  "limitations": "NOT VERIFIED. Mechanics, counts and current existence unconfirmed.",
  "disposition": "drop unless verified"
}
Pandora thumbsrecord 5
{
  "id": "C005",
  "kind": "company",
  "name": "Pandora thumbs",
  "url": "https://www.pandora.com/",
  "category": "media-cold-start",
  "evidence_class": "hypothesis",
  "source": "known surface; not verified this session",
  "observed": "2026-08-27",
  "claim": "Continuous binary thumb up/down on played tracks feeding station personalisation.",
  "limitations": "NOT VERIFIED this session.",
  "disposition": "reference only"
}
YouTube Music onboardingrecord 6
{
  "id": "C006",
  "kind": "company",
  "name": "YouTube Music onboarding",
  "url": "https://music.youtube.com/",
  "category": "media-cold-start",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Artist multi-select at first run.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Tidal onboardingrecord 7
{
  "id": "C007",
  "kind": "company",
  "name": "Tidal onboarding",
  "url": "https://tidal.com/",
  "category": "media-cold-start",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Artist/genre selection at signup.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Deezer Flow onboardingrecord 8
{
  "id": "C008",
  "kind": "company",
  "name": "Deezer Flow onboarding",
  "url": "https://www.deezer.com/",
  "category": "media-cold-start",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Genre selection seeding Flow.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Last.fm scrobble-based tasterecord 9
{
  "id": "C009",
  "kind": "company",
  "name": "Last.fm scrobble-based taste",
  "url": "https://www.last.fm/",
  "category": "media-cold-start",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Purely revealed-preference (listening history), no elicitation step.",
  "limitations": "NOT VERIFIED.",
  "disposition": "contrast — the pure revealed-preference pole"
}
Stitch Fix Style Shufflerecord 10
{
  "id": "C010",
  "kind": "company",
  "name": "Stitch Fix Style Shuffle",
  "url": "https://newsroom.stitchfix.com/blog/10-billion-interactions-and-counting-on-style-shuffle-the-data-powering-your-personalized-shopping-experience/",
  "category": "fashion",
  "evidence_class": "observed",
  "source": "Stitch Fix Newsroom",
  "observed": "2026-08-27",
  "claim": "Binary thumbs up/down on garment images, launched Mar 2018, ~10B interactions, ~1M players/month (~25% of active clients). Ratings update the 'Latent Style' model in REAL TIME; feeds a Style Graph distilling 10B data points into 10M coordinates. Unbounded — no fixed N, user-terminated. Batched ~10 items, a few batches/day.",
  "limitations": "Vendor newsroom (marketing-adjacent). Batch size and cadence come from press coverage, not the product.",
  "disposition": "STEAL — closest large-scale proof that binary image preference converges to a usable latent vector"
}
Stitch Fix 'candy vs medicine' item selectionrecord 11
{
  "id": "C011",
  "kind": "company",
  "name": "Stitch Fix 'candy vs medicine' item selection",
  "url": "https://qz.com/quartzy/1603872/how-stitch-fixs-style-shuffle-learns-your-style",
  "category": "fashion",
  "evidence_class": "inferred",
  "source": "Quartz reporting on Stitch Fix",
  "observed": "2026-08-27",
  "claim": "Shown items are deliberately mixed: 'candy' (near-certain thumbs-up, engagement) and 'medicine' (items the model specifically needs information about). This is explicit exploration/exploitation balancing inside a consumer UI.",
  "limitations": "Press characterisation of an internal practice; not vendor-documented. No ratio published.",
  "disposition": "STEAL — the engagement/information tradeoff is exactly our re-roll-vs-information problem"
}
Stitch Fix onboarding Style Profilerecord 12
{
  "id": "C012",
  "kind": "company",
  "name": "Stitch Fix onboarding Style Profile",
  "url": "https://www.stitchfix.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "403 bot-wall on quiz and support pages",
  "observed": "2026-08-27",
  "claim": "Long-form intake covering sizes, price bands, style preferences before first Fix.",
  "limitations": "COULD NOT VERIFY — 403. Question count unknown.",
  "disposition": "study if access obtained"
}
Threadrecord 13
{
  "id": "C013",
  "kind": "company",
  "name": "Thread",
  "url": "https://www.thread.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Style quiz feeding a stylist+algorithm hybrid.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Wantable style quizrecord 14
{
  "id": "C014",
  "kind": "company",
  "name": "Wantable style quiz",
  "url": "https://www.wantable.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Edit-based style quiz before curated box.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Nuulyrecord 15
{
  "id": "C015",
  "kind": "company",
  "name": "Nuuly",
  "url": "https://www.nuuly.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Rental subscription with style preferences.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
DailyLookrecord 16
{
  "id": "C016",
  "kind": "company",
  "name": "DailyLook",
  "url": "https://www.dailylook.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Style quiz feeding stylist box.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Armoirerecord 17
{
  "id": "C017",
  "kind": "company",
  "name": "Armoire",
  "url": "https://www.armoire.style/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Rental with algorithmic closet personalisation.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Rent the Runwayrecord 18
{
  "id": "C018",
  "kind": "company",
  "name": "Rent the Runway",
  "url": "https://www.renttherunway.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Size/fit and style preference capture.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Nordstrom Trunk Clubrecord 19
{
  "id": "C019",
  "kind": "company",
  "name": "Nordstrom Trunk Club",
  "url": "https://www.nordstrom.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Stylist intake questionnaire.",
  "limitations": "NOT VERIFIED; service repositioned since 2020.",
  "disposition": "drop"
}
Frank And Oak style planrecord 20
{
  "id": "C020",
  "kind": "company",
  "name": "Frank And Oak style plan",
  "url": "https://www.frankandoak.com/",
  "category": "fashion",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Style quiz feeding subscription box.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Pinterest interest pickerrecord 21
{
  "id": "C021",
  "kind": "company",
  "name": "Pinterest interest picker",
  "url": "https://medium.com/pinterest-engineering/personalizing-pinterests-new-user-experience-abroad-60f8f55177ac",
  "category": "interest-picker",
  "evidence_class": "inferred",
  "source": "Pinterest Engineering blog + Appcues teardown",
  "observed": "2026-08-27",
  "claim": "Mandatory multi-select of >=5 topics from an image+keyword grid; single screen, non-adaptive; framed as 'Follow 5 topics' with an explicit promise of a custom home feed. Localising the topic set per country/gender produced a large activation lift and 5-10% higher return rate.",
  "limitations": "Engineering blog, not a product doc. The >=5 figure is from secondary teardowns.",
  "disposition": "STEAL — the localisation result is the strongest evidence that STIMULUS CHOICE, not model, drives elicitation quality"
}
Pinterest user-interest clusters (UIC)record 22
{
  "id": "C022",
  "kind": "company",
  "name": "Pinterest user-interest clusters (UIC)",
  "url": "https://medium.com/pinterest-engineering/pinner-progression-better-use-case-representation-driving-weekly-active-user-growth-at-pinterest-bd2131ab238a",
  "category": "interest-picker",
  "evidence_class": "inferred",
  "source": "Pinterest Engineering 2026",
  "observed": "2026-08-27",
  "claim": "Pinterest REPLACED onboarding followed-interests as a retrieval condition with user interest clusters derived from actual engagement, because the onboarding signal 'skewed heavily toward dominant interests' and was 'static, not evolving with behavior'.",
  "limitations": "Engineering blog. Timing and scope of the replacement not fully specified.",
  "disposition": "CRITICAL COUNTER-EVIDENCE — a major platform deprecated its stated-preference onboarding signal in favour of revealed preference"
}
Reddit onboarding topic pickerrecord 23
{
  "id": "C023",
  "kind": "company",
  "name": "Reddit onboarding topic picker",
  "url": "https://www.reddit.com/",
  "category": "interest-picker",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Topic multi-select seeding the home feed.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
TikTok interest selectrecord 24
{
  "id": "C024",
  "kind": "company",
  "name": "TikTok interest select",
  "url": "https://www.tiktok.com/",
  "category": "interest-picker",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Category multi-select at signup; famously superseded fast by watch behaviour.",
  "limitations": "NOT VERIFIED.",
  "disposition": "study if verified — another stated-vs-revealed case"
}
Substack onboardingrecord 25
{
  "id": "C025",
  "kind": "company",
  "name": "Substack onboarding",
  "url": "https://substack.com/",
  "category": "interest-picker",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Topic selection seeding recommendations.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Medium topic followrecord 26
{
  "id": "C026",
  "kind": "company",
  "name": "Medium topic follow",
  "url": "https://medium.com/",
  "category": "interest-picker",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Topic multi-select at signup.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Flipboard topic pickerrecord 27
{
  "id": "C027",
  "kind": "company",
  "name": "Flipboard topic picker",
  "url": "https://flipboard.com/",
  "category": "interest-picker",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Topic selection building a magazine feed.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Quora topic selectionrecord 28
{
  "id": "C028",
  "kind": "company",
  "name": "Quora topic selection",
  "url": "https://www.quora.com/",
  "category": "interest-picker",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Topic multi-select at signup.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Havenly interior design style quizrecord 29
{
  "id": "C029",
  "kind": "company",
  "name": "Havenly interior design style quiz",
  "url": "https://havenly.com/interior-design-style-quiz",
  "category": "interiors",
  "evidence_class": "observed",
  "source": "Havenly quiz page fetched; corroborated by Apartment Therapy review",
  "observed": "2026-08-27",
  "claim": "Grid of ~48 room inspiration images, multi-select with NO cap ('Select the rooms that make you swoon' / 'Pick as many as you want'), and an explicit outside option: 'I don't like these. Skip.' Output is a style profile with a primary style plus sub-styles, handed to a matched designer.",
  "limitations": "Total screen count not determinable from the page. The '10 questions' figure is a third-party review, and Havenly's own copy says ~10 minutes — these are not the same claim.",
  "disposition": "STEAL — the explicit 'I don't like these' outside option in a live consumer flow is direct precedent for our re-roll"
}
Wayfair design style quizrecord 30
{
  "id": "C030",
  "kind": "company",
  "name": "Wayfair design style quiz",
  "url": "https://www.wayfair.com/sca/ideas-and-advice/styles/design-style-quiz-whats-your-design-style-T21651",
  "category": "interiors",
  "evidence_class": "inferred",
  "source": "Wayfair Ideas & Advice page via search",
  "observed": "2026-08-27",
  "claim": "Choose favourite photo from FOUR options per question, tally letters to a named style (boho, modern, ...). Fixed sequence, self-scored, no adaptivity, no outside option. Results funnel to shoppable category links.",
  "limitations": "Retrieved via search summary rather than direct fetch. Question count not stated.",
  "disposition": "STUDY — a 4-up image forced choice at consumer scale, but non-adaptive and self-scored"
}
Jordan's Furniture Find Your Stylerecord 31
{
  "id": "C031",
  "kind": "company",
  "name": "Jordan's Furniture Find Your Style",
  "url": "https://www.jordans.com/shop/style/style-quiz",
  "category": "interiors",
  "evidence_class": "inferred",
  "source": "vendor page via search",
  "observed": "2026-08-27",
  "claim": "5-step flow, select up to 2 images per step, validation blocks progress without a selection (i.e. NO outside option). Output is a prose style description.",
  "limitations": "Via search summary, not direct fetch.",
  "disposition": "study — the forced-selection validation is the anti-pattern our outside option avoids"
}
Modsyrecord 32
{
  "id": "C032",
  "kind": "company",
  "name": "Modsy",
  "url": "https://www.modsy.com/",
  "category": "interiors",
  "evidence_class": "hypothesis",
  "source": "known to have shut down (2022)",
  "observed": "2026-08-27",
  "claim": "Style quiz feeding 3D room renders.",
  "limitations": "SERVICE DISCONTINUED — historical only.",
  "disposition": "drop — do not present as a live competitor"
}
CORT Furniture style quizrecord 33
{
  "id": "C033",
  "kind": "company",
  "name": "CORT Furniture style quiz",
  "url": "https://www.cortfurnitureoutlet.com/style-quiz",
  "category": "interiors",
  "evidence_class": "inferred",
  "source": "via search",
  "observed": "2026-08-27",
  "claim": "Quiz results lead to curated product lists per named style.",
  "limitations": "Via search summary.",
  "disposition": "reference only"
}
Furnitureland South style quizrecord 34
{
  "id": "C034",
  "kind": "company",
  "name": "Furnitureland South style quiz",
  "url": "https://www.furniturelandsouth.com/style-quiz/",
  "category": "interiors",
  "evidence_class": "inferred",
  "source": "via search",
  "observed": "2026-08-27",
  "claim": "Short instinct-based style quiz.",
  "limitations": "Via search summary.",
  "disposition": "reference only"
}
Waypoint Living Spaces cabinet quizrecord 35
{
  "id": "C035",
  "kind": "company",
  "name": "Waypoint Living Spaces cabinet quiz",
  "url": "https://www.waypointlivingspaces.com/design-inspirations/style-quiz",
  "category": "interiors",
  "evidence_class": "inferred",
  "source": "via search",
  "observed": "2026-08-27",
  "claim": "Hybrid text/image quiz over colour palettes, chair preference, patterns; emails results as lead capture.",
  "limitations": "Via search summary.",
  "disposition": "reference only"
}
IKEA room style toolsrecord 36
{
  "id": "C036",
  "kind": "company",
  "name": "IKEA room style tools",
  "url": "https://www.ikea.com/",
  "category": "interiors",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Room planner and style inspiration surfaces.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Articlerecord 37
{
  "id": "C037",
  "kind": "company",
  "name": "Article",
  "url": "https://www.article.com/",
  "category": "interiors",
  "evidence_class": "observed",
  "source": "Baymard furniture UX study coverage; no public style quiz surfaced",
  "observed": "2026-08-27",
  "claim": "NO public image-based style quiz found; personalisation is via catalogue browse and filters.",
  "limitations": "Absence of evidence from this sweep, not proof of absence.",
  "disposition": "NEGATIVE RESULT — a major furniture retailer with no style quiz"
}
Joybirdrecord 38
{
  "id": "C038",
  "kind": "company",
  "name": "Joybird",
  "url": "https://joybird.com/",
  "category": "interiors",
  "evidence_class": "observed",
  "source": "Furniture Fair / Apartment Therapy coverage; no public style quiz surfaced",
  "observed": "2026-08-27",
  "claim": "NO public image-based style quiz found; personalisation is via heavy per-product customisation (fabrics, cushion feel, legs) plus a free design service.",
  "limitations": "Absence from this sweep only.",
  "disposition": "NEGATIVE RESULT — chooses configuration over elicitation"
}
Houzzrecord 39
{
  "id": "C039",
  "kind": "company",
  "name": "Houzz",
  "url": "https://www.houzz.com/",
  "category": "interiors",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Photo save/ideabook behaviour as implicit style signal.",
  "limitations": "NOT VERIFIED.",
  "disposition": "study if verified"
}
Room & Boardrecord 40
{
  "id": "C040",
  "kind": "company",
  "name": "Room & Board",
  "url": "https://www.roomandboard.com/",
  "category": "interiors",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Design services intake.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Warby Parker frames quizrecord 41
{
  "id": "C041",
  "kind": "company",
  "name": "Warby Parker frames quiz",
  "url": "https://www.warbyparker.com/quiz/frames",
  "category": "physical-goods",
  "evidence_class": "inferred",
  "source": "vendor page + Warby Parker promo video description",
  "observed": "2026-08-27",
  "claim": "Short quiz ('a few quick questions'); a company promo described 5 questions. Output is frame recommendations by colour, shape, style, feeding Home Try-On (5 frames free).",
  "limitations": "403 on direct quiz fetch. The '5 questions' figure is from marketing video copy, not the live quiz — DO NOT quote it as the current count.",
  "disposition": "study — short-quiz-to-physical-trial is the commercial pattern, count unverified"
}
Glasses.com virtual try-onrecord 42
{
  "id": "C042",
  "kind": "company",
  "name": "Glasses.com virtual try-on",
  "url": "https://www.glasses.com/",
  "category": "physical-goods",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Face-scan plus style preference capture.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Sherwin-Williams ColorSnaprecord 43
{
  "id": "C043",
  "kind": "company",
  "name": "Sherwin-Williams ColorSnap",
  "url": "https://www.sherwin-williams.com/",
  "category": "physical-goods",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Colour discovery and palette tools.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Behr colour toolsrecord 44
{
  "id": "C044",
  "kind": "company",
  "name": "Behr colour tools",
  "url": "https://www.behr.com/",
  "category": "physical-goods",
  "evidence_class": "hypothesis",
  "source": "403 bot-wall",
  "observed": "2026-08-27",
  "claim": "Colour selection and palette tools.",
  "limitations": "COULD NOT VERIFY — 403.",
  "disposition": "drop"
}
Prose hair consultationrecord 45
{
  "id": "C045",
  "kind": "company",
  "name": "Prose hair consultation",
  "url": "https://prose.com/",
  "category": "beauty",
  "evidence_class": "inferred",
  "source": "Forbes 2019 + Thingtesting coverage",
  "observed": "2026-08-27",
  "claim": "Consultation covering 85+ data points (hair type, porosity, wash frequency, zip code for humidity/water hardness/pollution, diet, stress). Fixed non-adaptive intake; output is a bespoke formula.",
  "limitations": "Press coverage, not vendor docs. Formula-count claims (50 billion / 79 trillion) are marketing and vary by source — do not quote.",
  "disposition": "CONTRAST — the maximalist pole: 85+ questions. Shows what we are choosing NOT to do"
}
Function of Beauty quizrecord 46
{
  "id": "C046",
  "kind": "company",
  "name": "Function of Beauty quiz",
  "url": "https://functionofbeauty.com/",
  "category": "beauty",
  "evidence_class": "inferred",
  "source": "Thingtesting comparative coverage; vendor page returned JS shell only",
  "observed": "2026-08-27",
  "claim": "Materially SHORTER quiz than Prose — skips age, location, hair length, shedding, wash frequency; focuses on hair type and goals plus fragrance/bottle colour. Reportedly drives 80% of business.",
  "limitations": "Quiz is JS-rendered and invisible to fetch; question count unverified. The 80% figure is press.",
  "disposition": "study — the short-quiz counterpoint to Prose in the same category"
}
Curologyrecord 47
{
  "id": "C047",
  "kind": "company",
  "name": "Curology",
  "url": "https://curology.com/",
  "category": "beauty",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Skin intake plus photos feeding a prescriber.",
  "limitations": "NOT VERIFIED; no question count found.",
  "disposition": "drop unless verified"
}
Care/ofrecord 48
{
  "id": "C048",
  "kind": "company",
  "name": "Care/of",
  "url": "https://takecareof.com/",
  "category": "beauty",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Supplement quiz.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Atlas Coffee Club quizrecord 49
{
  "id": "C049",
  "kind": "company",
  "name": "Atlas Coffee Club quiz",
  "url": "https://atlascoffeeclub.com/",
  "category": "beauty",
  "evidence_class": "hypothesis",
  "source": "404 on quiz URL attempted",
  "observed": "2026-08-27",
  "claim": "Coffee taste quiz feeding subscription.",
  "limitations": "COULD NOT VERIFY — 404.",
  "disposition": "drop"
}
Firstleaf winerecord 50
{
  "id": "C050",
  "kind": "company",
  "name": "Firstleaf wine",
  "url": "https://www.firstleaf.com/",
  "category": "beauty",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Taste quiz plus per-bottle rating feedback loop — a genuine ongoing preference learner.",
  "limitations": "NOT VERIFIED.",
  "disposition": "study if verified — the rating feedback loop is architecturally close to ours"
}
Winc wine quizrecord 51
{
  "id": "C051",
  "kind": "company",
  "name": "Winc wine quiz",
  "url": "https://www.winc.com/",
  "category": "beauty",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Palate profile quiz.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Hinge Most Compatiblerecord 52
{
  "id": "C052",
  "kind": "company",
  "name": "Hinge Most Compatible",
  "url": "https://techcrunch.com/2018/07/11/hinge-employs-new-algorithm-to-find-your-most-compatible-match-for-you/",
  "category": "dating",
  "evidence_class": "inferred",
  "source": "TechCrunch 2018 + Bustle interview with Hinge",
  "observed": "2026-08-27",
  "claim": "NO explicit elicitation step. Preference rankings are INFERRED by ML from like/pass behaviour over a rolling 24h window, then Gale-Shapley produces a stable matching. Refreshes every 24h.",
  "limitations": "Press coverage of an internal algorithm. The '8x phone-number exchange' figure is a vendor claim reported in press, not independently verified.",
  "disposition": "STUDY — the purest revealed-preference architecture in the denominator; the 24h rolling window is a concrete drift-handling design"
}
OkCupid question weightingrecord 53
{
  "id": "C053",
  "kind": "company",
  "name": "OkCupid question weighting",
  "url": "https://www.okcupid.com/",
  "category": "dating",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "User answers questions AND states importance weight AND the acceptable answer from a partner — a rare three-part elicitation.",
  "limitations": "NOT VERIFIED this session.",
  "disposition": "study if verified — explicit importance weighting is directly relevant to per-knob weighting"
}
Tinder swiperecord 54
{
  "id": "C054",
  "kind": "company",
  "name": "Tinder swipe",
  "url": "https://tinder.com/",
  "category": "dating",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Binary swipe as continuous implicit preference signal.",
  "limitations": "NOT VERIFIED.",
  "disposition": "reference only"
}
Coffee Meets Bagelrecord 55
{
  "id": "C055",
  "kind": "company",
  "name": "Coffee Meets Bagel",
  "url": "https://coffeemeetsbagel.com/",
  "category": "dating",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Curated daily matches from stated plus revealed preference.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Midjourney Style Creatorrecord 56
{
  "id": "C056",
  "kind": "company",
  "name": "Midjourney Style Creator",
  "url": "https://docs.midjourney.com/hc/en-us/articles/41308374558221-Style-Creator",
  "category": "design-tooling",
  "evidence_class": "observed",
  "source": "Midjourney official docs (retrieved via search index of docs page; direct fetch 403)",
  "observed": "2026-08-27",
  "claim": "SHIPPED ADAPTIVE VISUAL PREFERENCE ELICITOR. User picks from a grid of style images; the tool uses 'the styles you pick (and the ones you don't!)' to build a --sref code. Each regenerated preview set is one refinement round. Documented convergence: early rounds vary a lot, 'Most styles stabilize after 5-10 rounds', rounds 10-15 add detail, 'Past round 15, changes are small and subtle'. Skipping is available but explicitly NON-informative: 'skipping does not affect your style development'. Output is a reusable style code. User-terminated via End Session.",
  "limitations": "Direct docs fetch returned 403; content came from the search index of the official docs page and is quoted from that. Grid size per round not stated. No published accuracy or user study.",
  "disposition": "STEAL — the single closest shipped analogue to P06. Note we should DIVERGE on one point: they make skipping non-informative; we should treat the outside option as weak negative evidence"
}
Midjourney Style Tuner (/tune, legacy)record 57
{
  "id": "C057",
  "kind": "company",
  "name": "Midjourney Style Tuner (/tune, legacy)",
  "url": "https://midlibrary.io/midguide/midjourney-style-tuner-explained",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "Midlibrary guide",
  "observed": "2026-08-27",
  "claim": "Two modes: PAIRWISE (two styles at a time, click the preferred one, leave the middle box selected to SKIP the pair) or grid 'pick favourites'. 32-pair generation typical. Even a single pick generates a style; fewer picks produce a bolder style.",
  "limitations": "Third-party guide, not vendor docs. Legacy Discord feature superseded by Style Creator.",
  "disposition": "STEAL — an explicit three-way pairwise-with-neutral-middle control is exactly the outside-option affordance we need, and it shipped"
}
Figma First Draft style controlsrecord 58
{
  "id": "C058",
  "kind": "company",
  "name": "Figma First Draft style controls",
  "url": "https://help.figma.com/hc/en-us/articles/23955143044247-Use-First-Draft-with-Figma-AI",
  "category": "design-tooling",
  "evidence_class": "observed",
  "source": "Figma Help Centre",
  "observed": "2026-08-27",
  "claim": "NOT elicitation — DIRECT MANIPULATION. Theme controls expose light/dark toggle, preset colours or colour wheel, a border-radius SLIDER, a spacing SLIDER, and title/body/label font selection. No comparisons, no learning, no stopping rule.",
  "limitations": "Vendor help page. Custom design-system support not documented in this article.",
  "disposition": "CONTRAST — the closest design-tool competitor solves the same problem with sliders instead of preference learning. Our differentiator is that a client does not know their radius in pixels"
}
Looka logo maker style quizrecord 59
{
  "id": "C059",
  "kind": "company",
  "name": "Looka logo maker style quiz",
  "url": "https://looka.com/logo-maker/",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "third-party walkthroughs (Shotkit, Medium, lumance.ai); 403 on direct fetch",
  "observed": "2026-08-27",
  "claim": "Fixed sequence: business name + industry, then select logo STYLES from visual examples, then up to THREE colours, then icon concepts. Non-adaptive: 'the AI works within a structured decision tree'. Constrains the solution space BEFORE generation. Under five minutes.",
  "limitations": "403 on vendor fetch; all mechanics from third-party reviews. No question count published.",
  "disposition": "STUDY — closest commercial 'visual picks constrain a generator' flow, but non-adaptive and explicitly criticised for having no box for unusual blends"
}
Canva Brand Kit + on-brand generationrecord 60
{
  "id": "C060",
  "kind": "company",
  "name": "Canva Brand Kit + on-brand generation",
  "url": "https://www.canva.com/help/create-on-brand-designs/",
  "category": "design-tooling",
  "evidence_class": "observed",
  "source": "Canva Help Centre",
  "observed": "2026-08-27",
  "claim": "NOT elicitation. A stored brand layer (logos, colours, fonts, templates) is APPLIED to designs; Canva AI can extract brand context from a public website URL. Brand Controls can restrict a design to only Brand Kit colours and fonts.",
  "limitations": "Vendor help pages. No preference-learning component.",
  "disposition": "STEAL the CONSTRAINT model — 'Brand Controls' restricting a design to only kit values is exactly our closed-world token guarantee, shipped"
}
Base44 workspace design systemsrecord 61
{
  "id": "C061",
  "kind": "company",
  "name": "Base44 workspace design systems",
  "url": "https://docs.base44.com/Building-your-app/Design-system",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research (verified 2026-08-27 in that lane)",
  "observed": "2026-08-27",
  "claim": "A default design system is preselected before a new app's first prompt; users can choose another via chat. Stores brand basics, colours, fonts, logo, radius, shadows, spacing, components.",
  "limitations": "Carried from the token-pack-science report rather than re-fetched this session.",
  "disposition": "STUDY — closest AI-builder precedent for pre-build design-system selection, but selection not elicitation"
}
Wix ADI style steprecord 62
{
  "id": "C062",
  "kind": "company",
  "name": "Wix ADI style step",
  "url": "https://www.wix.com/",
  "category": "design-tooling",
  "evidence_class": "observed",
  "source": "prior lane verification: retired 10 Nov 2024",
  "observed": "2026-08-27",
  "claim": "HISTORICAL. ADI's fixed style-question flow was RETIRED 10 Nov 2024 and is unavailable for new sites; the current Wix builder is prompt-based ('Describe your vision').",
  "limitations": "Verified as discontinued by the commercial worker before it was blocked.",
  "disposition": "NEGATIVE RESULT — must not be cited as a live competitor; a style-quiz onboarding was retired in favour of prompting"
}
v0record 63
{
  "id": "C063",
  "kind": "company",
  "name": "v0",
  "url": "https://v0.dev/",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "React/Tailwind/shadcn generation with reusable style presets and design-system instructions; no closed pre-build token-pack gallery confirmed.",
  "limitations": "NOT VERIFIED as having a pre-build picker; absence from reviewed sources only.",
  "disposition": "contrast"
}
Lovablerecord 64
{
  "id": "C064",
  "kind": "company",
  "name": "Lovable",
  "url": "https://lovable.dev/",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Screenshot/Figma import and visual edits documented; no pre-build finite preset gallery confirmed.",
  "limitations": "NOT VERIFIED either way.",
  "disposition": "contrast"
}
Boltrecord 65
{
  "id": "C065",
  "kind": "company",
  "name": "Bolt",
  "url": "https://bolt.new/",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Prompt generation, imports, deployment; no finite pre-build theme picker confirmed.",
  "limitations": "NOT VERIFIED either way.",
  "disposition": "contrast"
}
Replit Agent / Design Moderecord 66
{
  "id": "C066",
  "kind": "company",
  "name": "Replit Agent / Design Mode",
  "url": "https://replit.com/products/design",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Visual Editor/Design Mode and Figma import; cited custom-theme docs concern the editor's own appearance, not generated-app tokens.",
  "limitations": "NOT VERIFIED as an app-token picker.",
  "disposition": "contrast"
}
Uizardrecord 67
{
  "id": "C067",
  "kind": "company",
  "name": "Uizard",
  "url": "https://uizard.io/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Theme generation and style extraction from screenshots.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Galileo AIrecord 68
{
  "id": "C068",
  "kind": "company",
  "name": "Galileo AI",
  "url": "https://www.usegalileo.ai/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Prompt-to-UI generation.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Relumerecord 69
{
  "id": "C069",
  "kind": "company",
  "name": "Relume",
  "url": "https://www.relume.io/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Sitemap-to-wireframe generation with style application.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Durablerecord 70
{
  "id": "C070",
  "kind": "company",
  "name": "Durable",
  "url": "https://durable.co/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "AI website builder with rapid theme regeneration.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Hostinger AI builderrecord 71
{
  "id": "C071",
  "kind": "company",
  "name": "Hostinger AI builder",
  "url": "https://www.hostinger.com/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Prompt-based site generation with theme options.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Tailor Brandsrecord 72
{
  "id": "C072",
  "kind": "company",
  "name": "Tailor Brands",
  "url": "https://www.tailorbrands.com/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Logo/brand quiz with style selection.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Brandmarkrecord 73
{
  "id": "C073",
  "kind": "company",
  "name": "Brandmark",
  "url": "https://brandmark.io/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Keyword plus colour/style selection generating logo sets.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Squarespace onboardingrecord 74
{
  "id": "C074",
  "kind": "company",
  "name": "Squarespace onboarding",
  "url": "https://www.squarespace.com/",
  "category": "design-tooling",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Goal and category selection preceding template recommendation.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Framer marketplacerecord 75
{
  "id": "C075",
  "kind": "company",
  "name": "Framer marketplace",
  "url": "https://www.framer.com/marketplace/",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Curated template browse and customise; template not token pack.",
  "limitations": "Carried from prior lane.",
  "disposition": "reference"
}
Webflow templatesrecord 76
{
  "id": "C076",
  "kind": "company",
  "name": "Webflow templates",
  "url": "https://webflow.com/templates/all",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Browse/search/preview; 'Preview in Designer' allows trying edits without saving; selecting creates a new project.",
  "limitations": "Carried from prior lane.",
  "disposition": "STEAL the PREVIEW-BEFORE-COMMIT pattern — reduces commitment anxiety at the pick moment"
}
Wix Templatesrecord 77
{
  "id": "C077",
  "kind": "company",
  "name": "Wix Templates",
  "url": "https://www.wix.com/website/templates",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Card to View/Edit to customise; very clear non-technical picker UX.",
  "limitations": "Carried from prior lane.",
  "disposition": "reference"
}
ThemeForest / Envatorecord 78
{
  "id": "C078",
  "kind": "company",
  "name": "ThemeForest / Envato",
  "url": "https://themeforest.net/search/marketplace",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Faceted search, sales/rating metadata, separate live preview.",
  "limitations": "Carried from prior lane.",
  "disposition": "reference"
}
tweakcnrecord 79
{
  "id": "C079",
  "kind": "company",
  "name": "tweakcn",
  "url": "https://tweakcn.com/editor/theme",
  "category": "design-tooling",
  "evidence_class": "inferred",
  "source": "prior token-pack research",
  "observed": "2026-08-27",
  "claim": "Live visual editing of shadcn/Tailwind themes with code export; direct manipulation, not elicitation.",
  "limitations": "Carried from prior lane.",
  "disposition": "contrast"
}
Sawtooth MaxDiffrecord 80
{
  "id": "C080",
  "kind": "company",
  "name": "Sawtooth MaxDiff",
  "url": "https://sawtoothsoftware.com/help/lighthouse-studio/manual/maxdiff-designing-study.html",
  "category": "measurement-vendor",
  "evidence_class": "observed",
  "source": "Sawtooth Lighthouse Studio manual, fetched and quoted verbatim",
  "observed": "2026-08-27",
  "claim": "THE HARDEST SIZING RULE IN THE DENOMINATOR. 'we recommend displaying either four or five items at a time (per set or question)'; never more than half the study's item count per set; ask enough sets 'such that each item has the opportunity to appear from three to five times per respondent'; formula '3K/k' where K = total items and k = items per set. Beyond ~5 items per set 'The gains in precision of the estimates are minimal.' Assumes HB estimation. Sparse MaxDiff relaxes this to population coverage (each item seen 500-1000 times across the population).",
  "limitations": "This is a design guideline for ITEM SCALING (rank K items), not for locating a point in a continuous knob space — the mapping to our problem is by analogy, not identity.",
  "disposition": "ADOPT-METHOD — 3K/k is the most defensible published question-count formula available, and the '4-5 per screen' guidance independently corroborates our 4-up recommendation"
}
Sawtooth ACBCrecord 81
{
  "id": "C081",
  "kind": "company",
  "name": "Sawtooth ACBC",
  "url": "https://sawtoothsoftware.com/help/lighthouse-studio/manual/sections-and-flow-for-adaptive-cbc.html",
  "category": "measurement-vendor",
  "evidence_class": "observed",
  "source": "Sawtooth manual + product page",
  "observed": "2026-08-27",
  "claim": "Genuinely ADAPTIVE three-phase design: BYO configuration, then a screening phase, then choice tasks. Screening presents 3-5 concepts per page and periodically asks whether a level is a 'Must-Have'; once a cutoff is set, all further concepts satisfy it. Also captures 'Unacceptables'. Length ~7-15 min, 2-3x a standard CBC. Output is part-worth utilities PLUS explicit non-compensatory rules.",
  "limitations": "No none-option confirmed on the pages read. Sawtooth reports respondents find it more engaging, but academic sources note longer duration raises fatigue and the enjoyment evidence is mixed. Section value varies by study — in one, BYO was most valuable; in another, least.",
  "disposition": "STEAL the MUST-HAVE / UNACCEPTABLE mechanism — a hard constraint that permanently prunes the stimulus space is exactly how brand constraints should enter our elicitation"
}
Sawtooth CBCrecord 82
{
  "id": "C082",
  "kind": "company",
  "name": "Sawtooth CBC",
  "url": "https://sawtoothsoftware.com/conjoint-analysis/cbc",
  "category": "measurement-vendor",
  "evidence_class": "inferred",
  "source": "Sawtooth product pages",
  "observed": "2026-08-27",
  "claim": "Choice-based conjoint: typically four concepts per task, orthogonal/balanced design, HB utilities per respondent. Non-adaptive.",
  "limitations": "Task count and none-option NOT stated on the pages read — recorded as unknown, not assumed.",
  "disposition": "reference — the non-adaptive baseline our adaptive design must beat"
}
Conjointlyrecord 83
{
  "id": "C083",
  "kind": "company",
  "name": "Conjointly",
  "url": "https://conjointly.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "404 on the MaxDiff guide URL attempted",
  "observed": "2026-08-27",
  "claim": "Conjoint and MaxDiff survey platform.",
  "limitations": "COULD NOT VERIFY — 404.",
  "disposition": "drop unless verified"
}
Qualtrics Conjointrecord 84
{
  "id": "C084",
  "kind": "company",
  "name": "Qualtrics Conjoint",
  "url": "https://www.qualtrics.com/",
  "category": "measurement-vendor",
  "evidence_class": "inferred",
  "source": "Qualtrics docs via prior worker",
  "observed": "2026-08-27",
  "claim": "Choice-based conjoint capped at <10k responses.",
  "limitations": "Page specifies NONE of: concepts per task, task count, none-option, adaptivity. Useful mainly as a negative.",
  "disposition": "reference"
}
1000minds PAPRIKArecord 85
{
  "id": "C085",
  "kind": "company",
  "name": "1000minds PAPRIKA",
  "url": "https://www.1000minds.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "404 on both URLs attempted",
  "observed": "2026-08-27",
  "claim": "PAPRIKA method: adaptive pairwise ranking of partial profiles, eliminating implied pairs by transitivity — algorithmically the closest commercial method to our adaptive design.",
  "limitations": "COULD NOT VERIFY — 404 on both attempted paths; the method description here is from general knowledge and MUST be verified before use.",
  "disposition": "HIGH PRIORITY TO VERIFY — transitivity-based pair elimination is directly applicable"
}
Displayrrecord 86
{
  "id": "C086",
  "kind": "company",
  "name": "Displayr",
  "url": "https://www.displayr.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "MaxDiff and conjoint analysis platform.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Q Research Softwarerecord 87
{
  "id": "C087",
  "kind": "company",
  "name": "Q Research Software",
  "url": "https://www.qresearchsoftware.com/max-diff-experimental-design-q",
  "category": "measurement-vendor",
  "evidence_class": "inferred",
  "source": "surfaced in MaxDiff search",
  "observed": "2026-08-27",
  "claim": "MaxDiff experimental design tooling.",
  "limitations": "Not directly fetched.",
  "disposition": "reference"
}
Alchemerrecord 88
{
  "id": "C088",
  "kind": "company",
  "name": "Alchemer",
  "url": "https://www.alchemer.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Survey platform with conjoint support.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
QuestionPro conjointrecord 89
{
  "id": "C089",
  "kind": "company",
  "name": "QuestionPro conjoint",
  "url": "https://www.questionpro.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Conjoint and MaxDiff modules.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
SKIMrecord 90
{
  "id": "C090",
  "kind": "company",
  "name": "SKIM",
  "url": "https://skimgroup.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Choice-modelling consultancy.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Kantarrecord 91
{
  "id": "C091",
  "kind": "company",
  "name": "Kantar",
  "url": "https://www.kantar.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Market research including conjoint.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Protobrandrecord 92
{
  "id": "C092",
  "kind": "company",
  "name": "Protobrand",
  "url": "https://protobrand.com/",
  "category": "measurement-vendor",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Metaphor-elicitation and implicit association research.",
  "limitations": "NOT VERIFIED.",
  "disposition": "study if verified — implicit/projective elicitation is a genuinely different family"
}
Optimizely contextual banditsrecord 93
{
  "id": "C093",
  "kind": "company",
  "name": "Optimizely contextual bandits",
  "url": "https://support.optimizely.com/hc/en-us/articles/29328842964109-Contextual-bandits",
  "category": "experimentation",
  "evidence_class": "inferred",
  "source": "Optimizely support + developer docs via search",
  "observed": "2026-08-27",
  "claim": "PER-USER, not population: 'contextual bandits pick a winning variation for each user based on their contextual profile'. Model starts at 100% exploration then exploits. NO sticky bucketing — each visitor gets the best variation for them at that moment. No statistical significance is calculated. User attributes cannot be added or removed once started.",
  "limitations": "Retrieved via search summary of vendor docs rather than direct fetch.",
  "disposition": "STUDY — the no-sticky-bucketing and no-significance properties are the honest cost of per-user personalisation, and we inherit both"
}
Statsig Autotune AIrecord 94
{
  "id": "C094",
  "kind": "company",
  "name": "Statsig Autotune AI",
  "url": "https://www.statsig.com/perspectives/personalized-testing-at-scale",
  "category": "experimentation",
  "evidence_class": "inferred",
  "source": "Statsig perspectives page via search",
  "observed": "2026-08-27",
  "claim": "Contextual bandits positioned between A/B tests and full ML; hourly model retraining. Explicit caveat that bandits 'excel at choosing between known options based on context but won't generate new content'.",
  "limitations": "Vendor thought-leadership content.",
  "disposition": "study — 'choosing between known options' is precisely our closed-pack framing"
}
Spotify separate personalisation/experimentation stacksrecord 95
{
  "id": "C095",
  "kind": "company",
  "name": "Spotify separate personalisation/experimentation stacks",
  "url": "https://engineering.atspotify.com/2026/1/why-we-use-separate-tech-stacks-for-personalization-and-experimentation",
  "category": "experimentation",
  "evidence_class": "inferred",
  "source": "Spotify Engineering 2026 via search",
  "observed": "2026-08-27",
  "claim": "Argues bandits and experiments are NOT substitutes: with a contextual bandit there is no single 'best button', only a 'best system', so you still need an experiment comparing it to the static baseline. The bandit is a feature you built, not an experimental method.",
  "limitations": "Engineering blog.",
  "disposition": "CRITICAL METHOD NOTE — our preference learner must itself be A/B tested against a static default pack, or we cannot claim it works"
}
Dynamic Yieldrecord 96
{
  "id": "C096",
  "kind": "company",
  "name": "Dynamic Yield",
  "url": "https://www.dynamicyield.com/lesson/contextual-bandit-optimization/",
  "category": "experimentation",
  "evidence_class": "inferred",
  "source": "vendor lesson page via search",
  "observed": "2026-08-27",
  "claim": "Multi-armed and contextual bandit optimisation for commerce personalisation.",
  "limitations": "Vendor educational content.",
  "disposition": "reference"
}
Kameleoonrecord 97
{
  "id": "C097",
  "kind": "company",
  "name": "Kameleoon",
  "url": "https://www.kameleoon.com/blog/contextual-bandits",
  "category": "experimentation",
  "evidence_class": "inferred",
  "source": "vendor blog via search",
  "observed": "2026-08-27",
  "claim": "Contextual bandit personalisation.",
  "limitations": "Vendor blog.",
  "disposition": "reference"
}
VWOrecord 98
{
  "id": "C098",
  "kind": "company",
  "name": "VWO",
  "url": "https://vwo.com/",
  "category": "experimentation",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "A/B and personalisation platform.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
GrowthBookrecord 99
{
  "id": "C099",
  "kind": "company",
  "name": "GrowthBook",
  "url": "https://www.growthbook.io/",
  "category": "experimentation",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Open-source feature flagging and experimentation.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Amplitude Experimentrecord 100
{
  "id": "C100",
  "kind": "company",
  "name": "Amplitude Experiment",
  "url": "https://amplitude.com/experiment",
  "category": "experimentation",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Experimentation with adaptive allocation.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
LaunchDarklyrecord 101
{
  "id": "C101",
  "kind": "company",
  "name": "LaunchDarkly",
  "url": "https://launchdarkly.com/",
  "category": "experimentation",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Feature management with experimentation.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Monetaterecord 102
{
  "id": "C102",
  "kind": "company",
  "name": "Monetate",
  "url": "https://monetate.com/",
  "category": "experimentation",
  "evidence_class": "hypothesis",
  "source": "not verified",
  "observed": "2026-08-27",
  "claim": "Commerce personalisation platform.",
  "limitations": "NOT VERIFIED.",
  "disposition": "drop unless verified"
}
Actionist taste picker demorecord 103
{
  "id": "C103",
  "kind": "company",
  "name": "Actionist taste picker demo",
  "url": "https://actionist-taste.pages.dev/",
  "category": "local-prior-art",
  "evidence_class": "observed",
  "source": "fetched 2026-08-27",
  "observed": "2026-08-27",
  "claim": "OUR OWN EXISTING PROTOTYPE. Four rendered interface cards per round ('every card is a bundle of five knobs — your pick is evidence about each one'), with an explicit outside option labelled 'none of these' plus 'start over'. ~10 picks total; later rounds target the 'least-resolved knob', holding other inferred preferences steady. Five knobs varied (palette, radius, type, density, shadow) of a seven-knob schema. Live belief panel headed 'What the system believes about you'. Statistics are win-rate counting with Laplace smoothing — a zeroth-order Bradley-Terry; the page itself names choix or a GP preference model as the production intent.",
  "limitations": "A demo, not a measured system. The '~10 picks' and 'converges in ~10 instead of ~50' claims are the prototype's own assertions with NO measurement behind them. The 'pick 1 of 10' label conflicts with four cards being shown — a UI inconsistency worth fixing.",
  "disposition": "ADOPT the interaction model — it already implements the recommended format, outside option and least-resolved-knob targeting; replace the estimator and add a real stopping rule"
}
Midjourney Style Creatorrecord 104
{
  "id": "C056-TOP10",
  "kind": "company",
  "name": "Midjourney Style Creator",
  "url": "https://docs.midjourney.com/hc/en-us/articles/41308374558221-Style-Creator",
  "category": "design-tooling",
  "evidence_class": "observed",
  "source": "Midjourney official docs (retrieved via search index of docs page; direct fetch 403)",
  "observed": "2026-08-27",
  "claim": "SHIPPED ADAPTIVE VISUAL PREFERENCE ELICITOR. User picks from a grid of style images; the tool uses 'the styles you pick (and the ones you don't!)' to build a --sref code. Each regenerated preview set is one refinement round. Documented convergence: early rounds vary a lot, 'Most styles stabilize after 5-10 rounds', rounds 10-15 add detail, 'Past round 15, changes are small and subtle'. Skipping is available but explicitly NON-informative: 'skipping does not affect your style development'. Output is a reusable style code. User-terminated via End Session.",
  "limitations": "Direct docs fetch returned 403; content came from the search index of the official docs page and is quoted from that. Grid size per round not stated. No published accuracy or user study.",
  "disposition": "STEAL — the single closest shipped analogue to P06. Note we should DIVERGE on one point: they make skipping non-informative; we should treat the outside option as weak negative evidence",
  "refers_to": "C056",
  "rank": 1,
  "rationale": "The only shipped, documented, adaptive VISUAL preference elicitor found anywhere. It uses non-picks as evidence, publishes a convergence range (5-10 rounds to stabilise, 10-15 for detail, past 15 negligible) that independently corroborates both our derivation and the SIGGRAPH user studies, and outputs a reusable parameter (--sref) rather than an asset. Its one design choice we should reject is making skips non-informative."
}
Sawtooth MaxDiffrecord 105
{
  "id": "C080-TOP10",
  "kind": "company",
  "name": "Sawtooth MaxDiff",
  "url": "https://sawtoothsoftware.com/help/lighthouse-studio/manual/maxdiff-designing-study.html",
  "category": "measurement-vendor",
  "evidence_class": "observed",
  "source": "Sawtooth Lighthouse Studio manual, fetched and quoted verbatim",
  "observed": "2026-08-27",
  "claim": "THE HARDEST SIZING RULE IN THE DENOMINATOR. 'we recommend displaying either four or five items at a time (per set or question)'; never more than half the study's item count per set; ask enough sets 'such that each item has the opportunity to appear from three to five times per respondent'; formula '3K/k' where K = total items and k = items per set. Beyond ~5 items per set 'The gains in precision of the estimates are minimal.' Assumes HB estimation. Sparse MaxDiff relaxes this to population coverage (each item seen 500-1000 times across the population).",
  "limitations": "This is a design guideline for ITEM SCALING (rank K items), not for locating a point in a continuous knob space — the mapping to our problem is by analogy, not identity.",
  "disposition": "ADOPT-METHOD — 3K/k is the most defensible published question-count formula available, and the '4-5 per screen' guidance independently corroborates our 4-up recommendation",
  "refers_to": "C080",
  "rank": 2,
  "rationale": "The most rigorous published question-count guidance in commercial practice, quoted verbatim from the vendor manual: 4-5 items per screen, 3K/k questions, diminishing precision past 5 per screen. Independently corroborates our 4-up recommendation from an entirely different tradition, and gives us a defensible sizing formula to show Cena."
}
Stitch Fix Style Shufflerecord 106
{
  "id": "C010-TOP10",
  "kind": "company",
  "name": "Stitch Fix Style Shuffle",
  "url": "https://newsroom.stitchfix.com/blog/10-billion-interactions-and-counting-on-style-shuffle-the-data-powering-your-personalized-shopping-experience/",
  "category": "fashion",
  "evidence_class": "observed",
  "source": "Stitch Fix Newsroom",
  "observed": "2026-08-27",
  "claim": "Binary thumbs up/down on garment images, launched Mar 2018, ~10B interactions, ~1M players/month (~25% of active clients). Ratings update the 'Latent Style' model in REAL TIME; feeds a Style Graph distilling 10B data points into 10M coordinates. Unbounded — no fixed N, user-terminated. Batched ~10 items, a few batches/day.",
  "limitations": "Vendor newsroom (marketing-adjacent). Batch size and cadence come from press coverage, not the product.",
  "disposition": "STEAL — closest large-scale proof that binary image preference converges to a usable latent vector",
  "refers_to": "C010",
  "rank": 3,
  "rationale": "The largest-scale proof that binary image preference converges to a usable latent vector: 10B interactions, ~1M monthly players, real-time model updates into a 10M-coordinate Style Graph. Establishes that the whole category works at scale, and that unbounded elicitation is viable when it is entertaining."
}
Sawtooth ACBCrecord 107
{
  "id": "C081-TOP10",
  "kind": "company",
  "name": "Sawtooth ACBC",
  "url": "https://sawtoothsoftware.com/help/lighthouse-studio/manual/sections-and-flow-for-adaptive-cbc.html",
  "category": "measurement-vendor",
  "evidence_class": "observed",
  "source": "Sawtooth manual + product page",
  "observed": "2026-08-27",
  "claim": "Genuinely ADAPTIVE three-phase design: BYO configuration, then a screening phase, then choice tasks. Screening presents 3-5 concepts per page and periodically asks whether a level is a 'Must-Have'; once a cutoff is set, all further concepts satisfy it. Also captures 'Unacceptables'. Length ~7-15 min, 2-3x a standard CBC. Output is part-worth utilities PLUS explicit non-compensatory rules.",
  "limitations": "No none-option confirmed on the pages read. Sawtooth reports respondents find it more engaging, but academic sources note longer duration raises fatigue and the enjoyment evidence is mixed. Section value varies by study — in one, BYO was most valuable; in another, least.",
  "disposition": "STEAL the MUST-HAVE / UNACCEPTABLE mechanism — a hard constraint that permanently prunes the stimulus space is exactly how brand constraints should enter our elicitation",
  "refers_to": "C081",
  "rank": 4,
  "rationale": "The must-have / unacceptable mechanism is the missing piece for brand constraints. A hard cutoff that permanently prunes the stimulus space — 'once identified, all further concepts satisfy those requirements' — is exactly how a regulated client's non-negotiables should enter elicitation, rather than being learned as a soft preference."
}
Havenly interior design style quizrecord 108
{
  "id": "C029-TOP10",
  "kind": "company",
  "name": "Havenly interior design style quiz",
  "url": "https://havenly.com/interior-design-style-quiz",
  "category": "interiors",
  "evidence_class": "observed",
  "source": "Havenly quiz page fetched; corroborated by Apartment Therapy review",
  "observed": "2026-08-27",
  "claim": "Grid of ~48 room inspiration images, multi-select with NO cap ('Select the rooms that make you swoon' / 'Pick as many as you want'), and an explicit outside option: 'I don't like these. Skip.' Output is a style profile with a primary style plus sub-styles, handed to a matched designer.",
  "limitations": "Total screen count not determinable from the page. The '10 questions' figure is a third-party review, and Havenly's own copy says ~10 minutes — these are not the same claim.",
  "disposition": "STEAL — the explicit 'I don't like these' outside option in a live consumer flow is direct precedent for our re-roll",
  "refers_to": "C029",
  "rank": 5,
  "rationale": "Direct consumer precedent for our outside option: a live flow with an explicit 'I don't like these. Skip.' next to an uncapped multi-select image grid. Proves the affordance is commercially acceptable and does not have to read as failure."
}
Pinterest user-interest clusters (UIC)record 109
{
  "id": "C022-TOP10",
  "kind": "company",
  "name": "Pinterest user-interest clusters (UIC)",
  "url": "https://medium.com/pinterest-engineering/pinner-progression-better-use-case-representation-driving-weekly-active-user-growth-at-pinterest-bd2131ab238a",
  "category": "interest-picker",
  "evidence_class": "inferred",
  "source": "Pinterest Engineering 2026",
  "observed": "2026-08-27",
  "claim": "Pinterest REPLACED onboarding followed-interests as a retrieval condition with user interest clusters derived from actual engagement, because the onboarding signal 'skewed heavily toward dominant interests' and was 'static, not evolving with behavior'.",
  "limitations": "Engineering blog. Timing and scope of the replacement not fully specified.",
  "disposition": "CRITICAL COUNTER-EVIDENCE — a major platform deprecated its stated-preference onboarding signal in favour of revealed preference",
  "refers_to": "C022",
  "rank": 6,
  "rationale": "The most important negative result in the sweep. Pinterest REPLACED onboarding followed-interests as a retrieval signal because it 'skewed heavily toward dominant interests' and was 'static, not evolving with behavior'. A major platform deprecated exactly the kind of stated-preference onboarding we are building. Our answer must be the closed-pack output plus explicit re-elicitation, not a permanent profile."
}
Actionist taste picker demorecord 110
{
  "id": "C103-TOP10",
  "kind": "company",
  "name": "Actionist taste picker demo",
  "url": "https://actionist-taste.pages.dev/",
  "category": "local-prior-art",
  "evidence_class": "observed",
  "source": "fetched 2026-08-27",
  "observed": "2026-08-27",
  "claim": "OUR OWN EXISTING PROTOTYPE. Four rendered interface cards per round ('every card is a bundle of five knobs — your pick is evidence about each one'), with an explicit outside option labelled 'none of these' plus 'start over'. ~10 picks total; later rounds target the 'least-resolved knob', holding other inferred preferences steady. Five knobs varied (palette, radius, type, density, shadow) of a seven-knob schema. Live belief panel headed 'What the system believes about you'. Statistics are win-rate counting with Laplace smoothing — a zeroth-order Bradley-Terry; the page itself names choix or a GP preference model as the production intent.",
  "limitations": "A demo, not a measured system. The '~10 picks' and 'converges in ~10 instead of ~50' claims are the prototype's own assertions with NO measurement behind them. The 'pick 1 of 10' label conflicts with four cards being shown — a UI inconsistency worth fixing.",
  "disposition": "ADOPT the interaction model — it already implements the recommended format, outside option and least-resolved-knob targeting; replace the estimator and add a real stopping rule",
  "refers_to": "C103",
  "rank": 7,
  "rationale": "Our own prototype already implements the recommended format (4-up, outside option, least-resolved-knob targeting). It is the fastest path to a measured protocol — but its convergence claims are unmeasured assertions and its estimator is a zeroth-order stand-in. Treating its numbers as evidence would be the exact error this project was warned about."
}
Figma First Draft style controlsrecord 111
{
  "id": "C058-TOP10",
  "kind": "company",
  "name": "Figma First Draft style controls",
  "url": "https://help.figma.com/hc/en-us/articles/23955143044247-Use-First-Draft-with-Figma-AI",
  "category": "design-tooling",
  "evidence_class": "observed",
  "source": "Figma Help Centre",
  "observed": "2026-08-27",
  "claim": "NOT elicitation — DIRECT MANIPULATION. Theme controls expose light/dark toggle, preset colours or colour wheel, a border-radius SLIDER, a spacing SLIDER, and title/body/label font selection. No comparisons, no learning, no stopping rule.",
  "limitations": "Vendor help page. Custom design-system support not documented in this article.",
  "disposition": "CONTRAST — the closest design-tool competitor solves the same problem with sliders instead of preference learning. Our differentiator is that a client does not know their radius in pixels",
  "refers_to": "C058",
  "rank": 8,
  "rationale": "The closest design-tool competitor, and it solves the problem with SLIDERS not learning. That is our differentiator stated crisply: a client cannot set a border-radius slider because they do not know their taste in pixels; they can only recognise it. Figma's approach is the fallback our approach must beat."
}
Spotify separate personalisation/experimentation stacksrecord 112
{
  "id": "C095-TOP10",
  "kind": "company",
  "name": "Spotify separate personalisation/experimentation stacks",
  "url": "https://engineering.atspotify.com/2026/1/why-we-use-separate-tech-stacks-for-personalization-and-experimentation",
  "category": "experimentation",
  "evidence_class": "inferred",
  "source": "Spotify Engineering 2026 via search",
  "observed": "2026-08-27",
  "claim": "Argues bandits and experiments are NOT substitutes: with a contextual bandit there is no single 'best button', only a 'best system', so you still need an experiment comparing it to the static baseline. The bandit is a feature you built, not an experimental method.",
  "limitations": "Engineering blog.",
  "disposition": "CRITICAL METHOD NOTE — our preference learner must itself be A/B tested against a static default pack, or we cannot claim it works",
  "refers_to": "C095",
  "rank": 9,
  "rationale": "Forces methodological honesty: a personalisation system is a feature, not an experimental method, so the preference learner must itself be A/B tested against a static default pack before we can claim it works. This becomes a gate in the protocol."
}
Canva Brand Kit + on-brand generationrecord 113
{
  "id": "C060-TOP10",
  "kind": "company",
  "name": "Canva Brand Kit + on-brand generation",
  "url": "https://www.canva.com/help/create-on-brand-designs/",
  "category": "design-tooling",
  "evidence_class": "observed",
  "source": "Canva Help Centre",
  "observed": "2026-08-27",
  "claim": "NOT elicitation. A stored brand layer (logos, colours, fonts, templates) is APPLIED to designs; Canva AI can extract brand context from a public website URL. Brand Controls can restrict a design to only Brand Kit colours and fonts.",
  "limitations": "Vendor help pages. No preference-learning component.",
  "disposition": "STEAL the CONSTRAINT model — 'Brand Controls' restricting a design to only kit values is exactly our closed-world token guarantee, shipped",
  "refers_to": "C060",
  "rank": 10,
  "rationale": "Canva's Brand Controls — restricting a design to only Brand Kit colours and fonts — is our closed-world token guarantee already shipped at consumer scale. Useful proof to Cena that the constraint model is accepted by non-technical users rather than experienced as a limitation."
}