A user-facing release log. Internal refactors and infrastructure work don’t show up here — only changes that affect what you can do in the product.
shipped
One-click Amazon → eBay lister
›Turn an Amazon product into a fully-filled eBay draft, hands-free: AI-written title + description, all product photos, and 15–20 catalog item specifics matched to eBay's own options.
›Seller-paid return policy is selected automatically where the category requires it (e.g. Motors), and generic products get Brand = “Unbranded” so the required field never blocks you.
›The draft is filled to 100% and handed to you to review + click “List it” — nothing is published without you. Proven across multiple categories (headlights, grille, mirror) for both branded and generic products.
›Descriptions keep their structure — paragraphs and a real “Key Features” bullet list — instead of a wall of text.
shipped
AI listing content
›AI now writes an optimized, keyword-rich eBay title (up to the 80-char limit) and a full HTML description from the Amazon source — no more copy-pasting.
›Item specifics are generated per eBay category and constrained to the values eBay actually accepts, so drafts pass validation.
›Admins get a new “Fill Quality” dashboard showing how completely the lister fills each draft and which fields most often need a manual touch.
shipped
Trust + polish across the dashboard
›Inline profit calculator on /sources, /listings, and the order drawer — sale − cost − fees = net, color-coded by your profit floor.
›EU compliance gate now has user-facing controls: settings toggle + per-account locale dropdown (com / co.uk / ca / com.au / de / fr / it / es / nl). Restricted-term checks fire only on EU TLDs.
›Onboarding wizard at /onboarding walks new signups through extension install → key generation → first eBay account link.
›Notification bell in the navbar pulls real signals (failed pushes, OOS suppliers, disconnected accounts).
›Live cross-entity search inside Cmd+K — type a seller, order, or product name and jump straight there.
›Empty-state sweep across every list page: every zero-data view now has a clear next-action CTA.
improved
Production hardening
›Sentry error monitoring + Vercel Analytics + Speed Insights wired in (DSN-gated; no leakage of PII by default).
›API key hashing at rest (bcrypt) — legacy plaintext keys keep working until you rotate from /settings.
›Per-user-id rate limiting on extension sync writes (60/min) + admin mutation paths (10/min) via Upstash.