← All projects

02 / Applied AI & software

Relist

Turning clothing photos into evidence-aware resale listings, with human review built into the workflow.

Python · FastAPI · OpenCV · OpenAI API · Next.js · TypeScript · Cloudinary
Workflow / a deliberate review step
PhotosGarment views + readable tag
Analyze & validateFacts, evidence, uncertainty
Human reviewEdit, approve, save
ExportDepop-compatible CSV

Useful AI needs a review step.

Relist turns clothing and tag photos into structured listing facts, editable descriptions, and a suggested price. I built it to make the repetitive parts of resale listing easier while keeping uncertain details visible and the final decision with the seller.

A Next.js interface handles photo intake and review. Behind it, a Python and FastAPI pipeline checks image quality, calls the OpenAI Responses API, validates the proposed facts, and prepares the approved listing for export.

What I built

  • Evidence-aware extraction. Model-proposed facts include confidence and photo provenance. Validation blocks unreadable tags and preserves unknown or conflicting details for review.
  • Deterministic marketplace mapping. Category is resolved before size. Versioned vocabularies map fields to Depop values, including jeans waist/inseam parsing and brand aliases.
  • A review and approval interface. Sellers can edit facts, listing text, and price. Edits pass validation again before approval and local saving.
  • Repeatable export. Approved photos are hosted on Cloudinary with content-derived IDs and caching. The export preserves the required leading rows of Depop’s version-6 CSV template.

Separate prediction from validation.

Image analysis, fact checking, listing text, and model-assisted pricing have separate responsibilities. The model suggests; deterministic checks decide whether those suggestions are valid enough to move into review. Provider requests use strict structured outputs and bounded retries.

The workflow ends at export. Relist produces a CSV for manual import into Depop’s Selling Hub. It does not publish listings automatically. Prices are model suggestions, rather than researched marketplace averages.

Demo & verification

The repository documents 150 passing offline tests covering photo handling, fact validation, pricing, saving, and export, along with a successful frontend production build. Provider responses were simulated for those tests; they do not establish live model accuracy or speed.