Skip to content
jack in the loop

jack in the loop

FlipperTools

Photos in, eBay listing out. An AI pipeline with live comps, taxonomy mapping and model fallbacks, plus free reseller tools and price guides. Rebuilt from scratch in 2026 with an eval harness behind it.

Listing secondhand clothes on eBay is mostly typing. Brand, size, material, category, twenty item specifics, a title that fits in eighty characters, a price. FlipperTools does the typing from your photos, and you check it.

The pipeline

Upload photos and a background job takes it from there. It reads the images, runs a visual search to identify the item, pulls comparable listings from eBay, maps everything onto eBay's own category and item-specific taxonomy, and writes the title, price, weights and description. A correction pass runs last. The listing lands in a review screen, and nothing goes to eBay until you publish it.

Each model call asks for JSON against a schema. If the answer doesn't validate, the call falls back to a second provider once, then stops. Search results go into the prompt as untrusted data, and plain code checks the model's work where code can: a brand read that's one letter off what the visual search found gets caught before it reaches a title. Every step logs its time, tokens and cost.

Pricing is honest about its limits. True sold prices need an eBay API that's only open to partners, so prices come from current asking prices, discounted to estimate what things actually sell for, and the price pages say so.

A FlipperTools price guide for the Canon AE-1: a typical sale range, a list-at and a quick-sale price, and weekly price history, with a note on how the numbers are made.

How I know if it's getting better

The best label for an AI-written field is what the user changed it to. So the eval harness grades every past listing against the user's edits, field by field, and reports how much of each pipeline version people kept. Before a change ships, a replay runs the new pipeline on old inputs and compares. A small hand-written golden set keeps the graders themselves honest.

For pricing I set up a bake-off: the same prompt and schema across Gemini, Claude, GPT and the full pipeline, on hundreds of real sold listings, scored on accuracy by price bucket, bad misses, latency and cost per item. The bar for "good enough" was written down before anything ran. The first finding was humbling: nearly every model says almost everything is worth more than $20.

The free half

Most of the site needs no account: fee calculators for nine marketplaces, shipping calculators, label printers, and about 330 price guides refreshed every week. An earlier Chrome extension of mine, Etsy Sold Price Revealer, has 697 users on the Chrome Web Store.

The eBay fee calculator: sale price, costs and ad rate on the left; fees, net payout and profit itemized on the right, with a work-backwards panel.

Two versions

The first version ran from 2024 on Heroku and MongoDB. This year I rebuilt it as a monorepo on Cloud Run with Terraform, background jobs on Cloud Tasks, six scheduled jobs, and about 4,150 tests, then moved the live site across on October 6.

built withTypeScriptNext.jsNestJSCloud RunCloud TasksFirestoreGeminiOpenAIClaudeeBay APIsTerraform
next, in room 01 loopThe factory→