Inspiration

AI can recommend a shopping routine in seconds, but turning that list into a correct cart is still manual and error-prone. Shoppers must search again, distinguish strength from package contents, compare near-identical listings, and ensure the cart quantity is actually correct.

DdakDama closes that gap with an explicit review and verification boundary.

What it does

DdakDama turns a free-form shopping list into an editable plan with product names, unit sizes, strengths, package contents, and requested physical quantities.

The ChatGPT app helps users review the interpretation. A paired Chrome Side Panel extension searches Coupang and keeps every real candidate available for the user to inspect.

The current v1.0.2 search flow deliberately separates search from automatic selection:

  • It searches the full request, then product identity, then a core-product fallback; it never searches a size or quantity alone.
  • It parses current Coupang ProductUnit result cards.
  • An exact identity, size, and package match is classified as EXACT and may be auto-selected.
  • Similar but non-exact candidates are REVIEW: they stay visible with a specification warning so users can compare, edit the search, or choose manually.
  • Only a genuine zero-result search is NONE.

Before a cart change, DdakDama verifies product identity, requested specifications, live detail price, stock, required options, and the purchase quantity needed to fulfill the request. After every add action it verifies the cart quantity delta with stable product identifiers where available. Partial failures remain visible rather than being reported as success.

Checkout and order confirmation always remain manual actions on Coupang.

How we built it

DdakDama is a TypeScript monorepo with four layers:

  • A shared deterministic parser and quantity planner.
  • A Manifest V3 Chrome Side Panel extension for search, comparison, validation, and approved cart actions.
  • An OpenAI Apps SDK and MCP-based ChatGPT app for structured list review and secure handoff.
  • A Cloudflare Worker and Durable Object service for public MCP access, short-lived pairing, device-scoped handoffs, rate limiting, and user isolation.

GPT-5.6 interprets shopping intent and invokes structured tools. Codex accelerated repository analysis, architecture changes, parser and browser-state-machine implementation, UI iteration, regression testing, and the v1.0.2 Coupang search recovery.

Challenges we solved

Shopping quantity language is deceptively difficult. “50 mL × 2” means two physical units, while “100 mg, 240 tablets” normally means one bottle containing 240 tablets. A requested five units might be satisfied by five singles or one five-pack; a six-pack must never be silently substituted.

DdakDama models these fields independently, shows the resulting supply and cart purchase quantity, flags over-purchase, and requires manual review whenever a candidate does not exactly satisfy the requested configuration.

What we are proud of

  • Preserves product identity from ChatGPT through the paired extension.
  • Separates search availability from strict automatic selection.
  • Explains physical supply and cart purchase quantity for singles and multipacks.
  • Keeps price-unverified, option-required, and partial-failure states visible.
  • Verifies cart quantity deltas and prevents duplicate resumed jobs.
  • Provides a reproducible test path without checkout automation.
  • Keeps developer credentials and internal logs out of consumer UI.
  • Never automates payment or order confirmation.

Judge testing

Repository: https://github.com/Artemis-ignis/ddakdama

Public app and MCP endpoint: https://ddakdama.ddakdama.workers.dev/mcp

For a repeatable no-purchase verification path, run:

pnpm install
pnpm lint
pnpm typecheck
pnpm test
pnpm test:e2e
pnpm build

Then load apps/extension as an unpacked extension in Chrome Developer Mode. The test suite uses fixture-backed shopping pages and never automates checkout or order confirmation.

What's next

We plan to publish the extension through the Chrome Web Store, expand the store-adapter interface beyond Coupang, add price-history and substitution preferences, and introduce transparent, opt-in affiliate benefits where platform-compliant.

Built With

  • chrome
  • cloudflare-durable-objects
  • cloudflare-workers
  • codex
  • gpt-5.6
  • manifest-v3
  • model-context-protocol-(mcp)
  • openai-apps-sdk
  • playwright
  • react
  • typescript
  • vitest
  • zod
Share this project:

Updates