Methods and scope

What Secondhand Fit will and will not list, and why. The lists on this page are rendered from the same category table the server uses to refuse a listing, so the page and the behaviour cannot drift apart.

Scope statement

Version 2026-10-01.v1

Categories that can be listed

Categories that are refused

Categories that are not available yet

YouCam API terms

Renders are produced by the Perfect Corp. YouCam Apparel Virtual Try-On API, and use of that API is subject to the YouCam API and Perfect Corp. terms of service.

Where the refusal happens

The category is the first thing a seller chooses on the Sell page. Choosing a refused category shows the reason and a link back to this statement, and the photo step does not open. The server enforces the same list: it creates no listing and records no readiness run for a refused category, and nothing is sent to the YouCam API.

What a preview does not claim

AI-generated preview only. No fit, size, condition or authenticity claim is made.

Readiness checks

Four checks run on a garment photo before it is accepted: framing, background separation, flatness and occlusion/shadow. They run on the Sell page, where each result is shown with its score. The thresholds are provisional and have not yet been calibrated against live API runs; the per-check write-up will be added to this page when they are.

Try-on readiness grade

Each check gives a score out of 100 and a verdict: pass, warning or fail. The grade is read off the single weakest check and nothing is averaged, so three high scores cannot lift the grade of a photo whose fourth check failed.

A published listing shows its grade as a badge with the reason the grade is not higher and the weakest check by name. The server takes the grade from the readiness attempt it recorded for the listing, never from the publish request. This provisional grade describes the source photo. It does not score the garment or predict the accuracy of the preview.

Source code and licence

Secondhand Fit is released under the MIT licence, in the LICENSE file at the root of the repository. It covers the source code, the placeholder renders and the drawings of the demo listing set. Third-party packages keep their own licences, listed in PROVENANCE.md with the origin of every file and picture. The YouCam API is a Perfect Corp. service used under its own terms of service, and the licence grants no rights to it.

Repository: https://github.com/mjcole76/secondhand-fit.git

Running it offline from a clone

It needs Node.js 20.9.0 or newer, with npm, and nothing else: no API key, no database and no .env file.

git clone <repository-url>
cd secondhand-fit
npm install
npm run dev

Then open http://localhost:3000. With no YouCam credentials the app runs in offline mock mode: it replays recorded API responses, makes no outbound request and spends no API units, and the mode banner reads mock. If a key is set in the shell or in .env.local, start it with YOUCAM_MOCK=true npm run dev instead. README.md at the root of the repository has the step-by-step walkthrough, every environment variable, live mode and how to calibrate the readiness checks.