ProjectsWhat We BuildHow We WorkAboutClients
← Back to all work
Automation · SaaS Platform

An eBay Reselling Engine for Auto Parts

A full SaaS platform that ingests a 386k-product vendor catalog, matches it against competitor eBay stores, surfaces the profitable items and pushes priced listings to eBay — with automated repricing.

Live eBay auto-parts listing with auto-generated fitment data for 253 vehicles
Python · eBay API
Industry
Auto Parts · E-Commerce
Duration
Ongoing build
My role
Full-stack · Scraping · eBay API
Headline
386K+

The Challenge

An auto-parts reseller had a 386,561-product wholesale catalog but no way to know which items were actually profitable to list on eBay. Pricing against competitors and creating listings was all manual — so most of the catalog never got sold.

The Approach

We built a SaaS platform that owns the whole loop: bulk-import the vendor catalog into an indexed database, scrape competitor eBay stores with a browser bot, match the same part four different ways, calculate profit, and push priced listings to eBay through its API — with repricing rules that keep a minimum margin as competitor prices move.

How we built it

  1. 01

    Ingested the catalog

    Bulk-imported a 386,561-product vendor feed (TXT / CSV / Excel) into an indexed SQLite schema of 42 tables, tuned with WAL mode and caching for speed.

  2. 02

    Scraped the competition

    A Playwright browser bot scrapes competitor eBay stores — with anti-detection and captcha handling — to pull live prices and fitment.

  3. 03

    Matched products four ways

    Tiered matching (partslink, OEM, part-number, then fuzzy keyword) reliably finds the same part across two different catalogs.

  4. 04

    Priced for profit

    A repricing engine with four rule types (margin %, fixed markup, undercut-lowest, match-average) prices every item above cost with a guaranteed minimum margin.

  5. 05

    Listed & tracked on eBay

    Approved items push to eBay via the Inventory API over OAuth2; orders sync back and profit is tracked live in the dashboard over WebSockets.

The Results

6,409
Profitable matches found
$494K
Profit identified
67.2%
Average margin

What We Built

  • 18 FastAPI routers, 42-table SQLite database (WAL mode)
  • Playwright scraper with anti-detection & captcha handling
  • 4-tier product matching across catalogs
  • 4 repricing rule types with minimum-margin guarantee
  • Gap / hot-product / dead-stock intelligence reports
  • Real-time listing queue over WebSockets

Connected Platforms

eBay API
Listings & Orders
Playwright
Scraping
Cloudinary
Listing Images
SQLite
42-table DB

From the project

Technologies

PythonFastAPIReactPlaywrightSQLiteeBay APICloudinaryWebSockets

See more of the work.

Every project in the portfolio is built and shipped by Phillip Janzen — explore the rest.

All Projects