How Storeshift works

Every step of the pipeline, in plain English. The honest version, with the actual things we run on your data.

The six phases

You watch all six happen live with item-level progress and a running cost-so-far display. Every phase emails you on completion.

  1. 1

    Scrape your marketplace storefront

    We pull every public listing — title, description, price, all images, the source URL. We respect the marketplace's robots.txt and rate limits; if anti-bot defenses fire, we automatically solve them via 2Captcha (we eat the cost) or pause the run cleanly so you don't lose progress.

  2. 2

    Scrape each individual listing

    For each item we pull the full detail page — high-resolution images, longer description text, item specifics, listing condition. Anything you wrote on the source listing is captured for the AI step.

  3. 3

    Download and clean every image

    Every image saved locally for processing. We deduplicate so you don't pay for the same image twice on items that share photos.

  4. 4

    Background-remove with rembg

    Each product image runs through rembg, an open-source background removal model. Output is transparent WebP — ~30% smaller than PNG, faster Shopify page loads, and TikTok-Shop-compliant from day one.

  5. 5

    Upload to a CDN, get permanent URLs

    Cleaned images uploaded to Cloudflare R2 (yours for 30 days; the CSV references them by URL). Shopify imports them by reference, so you don't have to re-upload anything when you import.

  6. 6

    Generate the AI copy and Shopify CSV

    The big one. For every product, Claude writes: a Shopify Title in your chosen voice (40–70 chars, brand-aware), an SEO meta description (140–155 chars, unique sentence structure per product), a category assignment, and a TikTok Shop policy review. Output gets packaged into a Shopify-ready CSV and a queryable SQLite database.

What's actually in the AI copy

The model picks have changed twice and the prompts are revised weekly. As of this writing:

Shopify product titles

Claude Sonnet, in your chosen tone of voice. 40–70 characters, with a configurable suffix (e.g. " — YourBrand"). We block any word from a TikTok-trigger list (case-insensitive); your store also gets a self-improving trigger list so words flagged by the review step in one run are pre-filtered in the next.

Source title (eBay):
  NEW Nike Air Max 90 Mens Size 10 White Black Sneakers Shoes Running NIB

Storeshift output (tone: Direct & benefit-focused):
  Air Max 90 — Classic Streetwear in White/Black, Size 10 — YourBrand

SEO meta descriptions

140–155 characters. We deliberately vary sentence structure across products in the same run so Google doesn't flag your catalog as duplicate-content boilerplate (the silent penalty that kills templated Shopify stores).

Category detection

Keyword match first against your store's category list. Items that don't cleanly match get sent to Claude for a tool-use call with the valid category enum, so we can never invent a category your storefront filter doesn't know about.

TikTok Shop policy review

Each finished listing reviewed against TikTok Commerce policy categories: copyrighted IP, restricted substances, safety certifications, hate symbols, misleading claims (medical, "best," "guaranteed"), prohibited categories. Block-severity findings come back with a specific suggested fix — not just "rejected." Soft warnings come through as recommendations.

We don't promise TikTok will approve every listing — their review is opaque. We promise the obvious-rejection-reasons are handled before you even submit.

What you ship with

  • shopify_import.csv — drop straight into Shopify Admin → Products → Import
  • product_database.db — SQLite mapping every Shopify SKU to its source listing URL. Queryable. You always know where each product came from.
  • tiktok_review.json — full policy review report with violations, severity, suggested fixes
  • Background-removed images on a 30-day CDN URL (you import by reference; Shopify mirrors them on first import)

What you can configure

  • Voice — pick a preset (Direct, Premium, Punchy, Story-driven, etc.) or describe your own
  • Audience — free-form description. "US-based construction workers aged 25–55 who take pride in their gear."
  • Listing cap — scope to a specific count (don't pay for more than you want)
  • Exclude keywords — skip listings whose titles contain these words ("used," "broken," "parts only"). Filtered BEFORE any AI step so excluded items cost nothing.
  • Markup % + rounding — apply a markup over the source price with charm-pricing ($X.99) or whole-dollar rounding

Try it on a 5-product preview, free.

See the actual output before you pay. Tweak the voice and regenerate as many times as you want.

Generate a free preview →