Resale Listing Agent
Turns one to four photos of an item into a condition appraisal, a price range, and listings for eBay, Poshmark, and Facebook Marketplace.
Stack: Next.js 14, React 18, TypeScript, Tailwind CSS, Gemini API, Groq
The problem
Listing used items well means inspecting photos, grading condition, researching prices, and writing a different listing for every marketplace.
How it works
One to four photos and optional seller notes go in. A Groq function-calling agent chooses among five tools: analyze photos, assess condition, suggest a price, generate a listing, and format for each platform. Gemini handles the visual inspection; Groq handles reasoning and writing. The output is a condition grade, flaws to disclose, a price range, and listings for eBay, Poshmark, and Facebook Marketplace.
Decisions
Decisions worth explaining
Two models by job
Gemini for multi-image vision, Groq for fast text reasoning.
Enforced JSON schemas
Enforced JSON schemas at every stage so nothing depends on parsing prose.
In-memory buffer passing instead of LLM payload
Images never pass through the language model: the agent passes a lightweight session ID and the tool code reads raw image buffers from server memory, which avoids huge base64 payloads in model context.
Separation of item analysis and platform formatting
Item analysis is separate from platform formatting, so title lengths and conventions for each marketplace can change without redoing the appraisal.
Status
What's not finished
No accounts or saved history yet; no rate limiting; no check that photos are sharp enough to read tags; no content moderation for prohibited items; sellers cannot edit before posting because direct posting to marketplaces is not built.
Next project