@ GS칼텍스GS Caltex VOC AI Dashboard
Sole architect and engineer of the VOC AI Dashboard, manual review replaced by 1,000+/day auto-classification across 4 integrated channels.
Held up an environment of 10,000 sellers pushing to 100+ marketplaces, safely, on an async workflow.
It looked simple. A seller creates a product, lists it to 100 marketplaces at once, and inventory and orders sync both ways. Once I looked inside, each marketplace had its own API shape, synchronous calls froze the seller's screen on the spot, and when something failed, someone had to dig by hand for which marketplace dropped what.
The problem was not "send to many marketplaces" — it was "send to many marketplaces safely, fast, and traceably." So the work was not to write one good adapter; it was to stand up the full async workflow from zero: request → queue → process → result.
Field notes
Every marketplace API was different
Response shape, auth, error codes, retry policy — a hundred different variants per marketplace.
Synchronous processing was blocking the seller UX
One click on "list" turned into 100 API calls that the seller had to sit through.
Failures never reached a human hand
Which marketplace dropped what either never reached an operator, or reached them late.
tradeoffUpfront abstraction cost vs. long-term maintenance cost
Seller requests land on SQS immediately and return a response fast. Lambda workers process per-marketplace queues in parallel in the background. The seller's screen is no longer tied to marketplace API response time.
An idempotency key keeps the result consistent when the same message arrives multiple times. SQS auto-retry becomes safe, and even when an operator manually replays a message, no duplicate processing happens.
Delivery failures get 3 SQS auto-retries; once that ceiling is crossed, the message is isolated in the DLQ. When something lands in the DLQ, an #oncall-onsel Slack alert fires immediately — the time from failure to a human seeing it drops to minutes.
Scale
10,000+ sellers
100+ marketplaces in parallel
Stability
Sync → async
Instant seller response, processing in the background
Extensibility
New marketplace
Adapter added in one place
Reliability
DLQ → Slack
Failures caught within minutes
“A backend engineer who holds stability and traceability together at scale.”
Read the per-marketplace API differences and the UX cost of synchronous processing as a single pattern.
SQS + Lambda for async, idempotent Lambdas, one unified adapter interface.
Running for 10,000+ sellers; DLQ-to-Slack catches failures within minutes.
More work