Lab · At work · iBuy / 6ave.com
PublishOS
The internal control panel for running several Best Buy Marketplace storefronts: listings, orders, messages, sales and ads in one place, plus a phone app.
- Status
- In production
- Who uses it
- The marketplace operations, listings and ads team.
- Built with
- Node.js on Render · Upstash Redis · Mirakl marketplace API · Claude API · single-file dashboard + phone web app · Chrome extension
One server holds every key
Browsers and the phone
→ Phone app: today’s sales? ← data back
→ Dashboard: listing alerts? ← data back
→ Browser: send me the API key? ← no key, ever
Server
- Marketplace API
- Ads reporting
- Report pipeline
- Claude
The keys stay here.
Scheduled checks Positions illustrative
- Listing scan, three a day: newly inactive, out of stock, import errors
- Daily ads pull, each morning
Confirm to send Demo · nothing is sent
The only write: a message reply, sent after an explicit confirmation.
The problem
Running several storefronts meant juggling the seller portal, the ads portal, emailed sales reports and spreadsheets. PublishOS puts them in one place, runs the routine checks on its own, and helps with listing content.
How it works
One server holds every key
It talks to the marketplace API, the ads reporting, the report pipeline and Claude; browsers never hold a key.
Routine checks on a schedule
New-message checks, sales pushes to the phone, listing scans three times a day (newly inactive, out of stock, import errors) and the daily ads pull.
A phone app for the day
Today vs last week, what’s due to ship, messages past their response deadline, ads status and listing alerts.
An AI analyst
Answers questions from server-side summaries of order and ad data, not raw rows.
Listing tools
Generates attributes, titles and categories with Claude and checks them against the marketplace’s rules before anything is exported.
Where AI fits
- Claude powers the analyst, the listing tools and the daily ads brief.
Guardrails
Behind a login
The site needs a login and data routes need a token; keys live in server settings only.
No customer data to AI
Customer names and addresses are never sent to the AI, and the page never embeds order or customer data.
Nothing automatic on the marketplace
Prices are never written and nothing is imported automatically. The only write is a message reply, sent after an explicit confirmation.
Engineering notes
Healthy data only
Only verified snapshots are served from cache, and failed writes are logged, not swallowed.
Build stamps
Every change carries a stamp, so a stale browser tab can be told apart from a real bug.
Small server, deliberate design
Memory and storage limits shaped it: compression, batching and capped backlogs.