Andrew Parra ES

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.

It talks to the marketplace API, the ads reporting, the report pipeline and Claude; browsers never hold a key.

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.