ShelfGap Buyer Lens

ShelfGap Buyer Lens

A deterministic buyer-choice simulator inside ChatGPT that compares merchant offers against user-supplied alternatives, explains wins/losses, and tests what-if changes.

Category
访问服务器

README

ShelfGap Buyer Lens

ShelfGap is a deterministic buyer-choice simulator inside ChatGPT. It compares one merchant offer with user-supplied alternatives across explicit buyer profiles, explains why the merchant wins or loses, and tests the smallest merchant-controlled change worth trying next.

The public app is read-only. It does not crawl marketplaces, require marketplace credentials, mutate listings, or predict sales.

Why it exists

ShelfGap started on a family trip through Warsaw and Krakow. We speak Turkish and English, but unfamiliar Polish labels, delivery promises, and seller signals still made confident comparison difficult. We did what people already do: we asked ChatGPT. We did not want another app or account just to choose an offer.

Then we recognized the same decision from the merchant side. People we know run online stores without writing code or using command-line tools. They still need to answer one practical question: why did the buyer choose the other offer? ChatGPT is already an interface they know, so ShelfGap brings the analysis there.

  • Buyer: "Which offer fits me?"
  • Merchant: "Why did they choose the other one?"

ShelfGap sits between those questions.

What it does

The core distinction is that the product and the offer are different things. The same product can win through one seller and lose through another because buyers evaluate the product together with shipping cost, delivery time, warranty, returns, seller trust, and checkout convenience.

For each buyer context, ShelfGap:

  • applies hard requirements before preference scoring;
  • ranks the merchant, exact-product resellers, and direct alternatives;
  • exposes the score components and evidence gaps behind the choice;
  • distinguishes a product win from a merchant-offer win;
  • recommends a small, controllable merchant test;
  • recomputes the result after approved what-if changes.

Missing evidence remains unknown: it is never silently treated as false or assumed true. Results are simulated choices for the supplied buyer contexts, not conversion, revenue, demand, or market-share forecasts.

OpenAI Build Week 2026

The repository was created during the Build Week submission period. The ready-to-paste project copy, video plan, and final owner checks are in docs/HACKATHON_SUBMISSION.md, docs/DEMO_SCRIPT.md, and docs/HACKATHON_CHECKLIST.md.

Public MCP tools

  • shelfgap.analyze_offers validates supplied offer and buyer-profile facts, then computes eligibility, weighted fit, rank, choice gaps, and next-test recommendations.
  • shelfgap.simulate_offer_changes applies explicit what-if changes to the merchant offer and returns a deterministic before/after comparison.
  • shelfgap.load_sample loads the fictional Northstar bottle market so a new user can inspect a complete result before supplying data.

All three tools are read-only, non-destructive, and return a compact Buyer Lens widget. The widget consumes the actual tool result instead of relying on a hard-coded product.

Language behavior

ShelfGap 1.1 supports English and Turkish MCP results and widget labels. Every tool accepts an optional responseLocale BCP 47 tag for the current prompt language; it takes precedence over the Apps SDK _meta["openai/locale"] client locale (tr-TR maps to tr). The server echoes the matched locale in result.locale and falls back to English for unsupported or missing locales. ChatGPT is instructed to explain the result in the language of the user's current prompt, including languages that are not yet natively localized by ShelfGap.

Scoring model

ShelfGap evaluates hard eligibility before ranking. Eligible offers rank ahead of uncertain offers, and uncertain offers rank ahead of ineligible offers. Within those groups, the engine scores:

  • verified feature fit;
  • effective delivered cost;
  • delivery fit;
  • seller and authenticity trust;
  • warranty and return policy;
  • checkout, membership, and pickup convenience.

Unknown required evidence creates uncertainty. A privately known merchant attribute is not treated as public until an explicit what-if change exposes it.

Local setup

Supported local platforms: macOS or Linux with Node.js 22+, pnpm 11, and a Chromium-compatible Playwright runtime. Docker is optional.

corepack enable
pnpm install --frozen-lockfile
pnpm check
pnpm test:e2e
pnpm test:mcp

Run the website and MCP server through Docker Compose:

docker compose up --build

Local routes:

  • Website: http://localhost:8080/
  • Sample workspace: http://localhost:8080/demo
  • Health: http://localhost:8080/healthz
  • MCP endpoint: http://localhost:8080/mcp
  • MCP health: http://localhost:8080/mcp/healthz

The sample data is versioned in packages/fixtures and requires no external service. The deterministic contract is asserted in packages/core/test/demo-contract.test.ts.

The optional URL metadata extractor is disabled by default. It is not part of the public ShelfGap app and must only be enabled in a private deployment for URLs the user is authorized to analyze.

Hosted app

  • Website: https://shelfgap.onurkeskin.com/
  • Live sample: https://shelfgap.onurkeskin.com/demo
  • Build brief: https://shelfgap.onurkeskin.com/architecture
  • MCP: https://shelfgap.onurkeskin.com/mcp
  • Privacy: https://shelfgap.onurkeskin.com/privacy
  • Terms: https://shelfgap.onurkeskin.com/terms
  • Support: https://shelfgap.onurkeskin.com/support

The public ChatGPT plugin publishing path is separate from the hackathon and intentionally deferred. Developer-mode connection remains available through docs/MCP_INSTALLATION.md, but judges do not need it to test the product.

Safety boundaries

  • No user accounts, OAuth flow, application database, analytics SDK, marketplace login, or OpenAI API key.
  • Tool payloads are processed in memory and are not written to application storage.
  • Claims, prices, policies, and buyer requirements are supplied inputs; ShelfGap does not independently verify them.
  • Results are scenario comparisons, not conversion, demand, revenue, or market-share forecasts.
  • Structured tool schemas bound string length, offer count, buyer count, and per-call analysis work.
  • MCP request bodies, JSON-RPC batches, concurrent streams, and stream lifetimes are bounded by application controls; the deployment edge also enforces rate and in-flight limits without buffering streaming responses.
  • The production web build pins patched Next.js and React releases and disables the unused image optimizer.

GPT-5.6 and Codex

ShelfGap uses two deliberately separate layers:

  • GPT-5.6 owns the conversation. It selects and calls the read-only MCP tool, explains the structured result, and responds in the language of the user's prompt.
  • The TypeScript engine owns the decision. Eligibility, arithmetic, ranking, choice gaps, and what-if simulations are deterministic pure logic. The model does not calculate scores or invent uplift.

Codex built the implementation from the supplied product handoff: monorepo, contracts, scoring engine, website, MCP app, Buyer Lens widget, tests, Docker deployment, localization, production verification, and submission preparation. The collaboration log records what was delegated, what required correction, and which decisions remained human-owned in docs/CODEX_COLLABORATION.md.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选