Portfolio Vinted Tracker — Reselling Analytics & AI Sales Agent

PYTHON · STREAMLIT · SQLITE · LLM · Own product

Vinted Tracker

Vinted Tracker — Reselling Analytics & AI Sales Agent

2026 2026, ongoing 4 min read

I resell vintage, streetwear and shoes on Vinted. Spreadsheets stopped working once stock ran into the hundreds, so I built the tool I wanted: every item from purchase to sale, true profit after fees, and an agent that turns a handful of photos into a ready-to-list draft.

  • 780+ automated tests, every page in both themes
  • 194 orders tracked across 183 inventory items
  • Local-first SQLite on disk, no data leaves the machine
Vinted Tracker 2026 Mock · rendered from this write-up
  • Value 194 Orders in the ledger
  • Time Photo → draft Listing workflow
  • Effort Solo Designed, built, used daily
  • Quality 780+ Tests
  1. Step 01 One record per item, purchase to sale
  2. Step 02 Analytics that answer real questions
  3. Step 03 An assisted sales agent
  4. Gate Tested like production software
  5. Output 194 Orders in the ledger
194 Orders in the ledger780+ Tests780+ automated tests, every page in both themes194 orders tracked across 183 inventory items

01 — Context

The problem.

Reselling looks profitable until fees, shipping and slow-moving stock are counted. With hundreds of items, a spreadsheet could no longer say what was actually making money.

Listing is the bottleneck: photographing, writing and pricing each item by hand takes longer than sourcing it.

02 — Method

The approach.

The build, in the order it happened.

  1. One record per item, purchase to sale

    Inventory, costs, fees and sales live in SQLite, so every chart is computed from the same ledger.

  2. Analytics that answer real questions

    P&L, sell-through, time-to-sale and category performance — what to buy more of and what to stop buying.

  3. An assisted sales agent

    The agent drafts title, description and suggested price from photos. Publishing stays manual in Vinted’s own form — no reverse-engineered writes.

  4. Tested like production software

    780+ tests, including rendering every page in Streamlit’s real runtime in both themes against seeded and empty databases.

Flow · from the approach steps
  1. Sources PythonStreamlitSQLite
  2. Step 01 One record per item, purchase to sale
  3. Step 02 Analytics that answer real questions
  4. Step 03 An assisted sales agent
  5. Gate Tested like production software
  6. Output 194 Orders in the ledger

03 — Outcome

What changed.

  • 194 orders and 183 items in one ledger — a single source of truth for stock, cost and profit.
  • Listing drafts produced from photos, reviewed and published by me.
  • 780+ automated tests guarding every page and calculation.

04 — Screens

What it looks like.

Generated from the write-up rather than captured from a client's screen — the shape of the thing, not a leaked one.

05 — Stack & role

Built with.

  • Python
  • Streamlit
  • SQLite
  • Pandas
  • LLM vision API
  • pytest
Role
Owner — product, engineering and data
Duration
2026, ongoing
Client
Own product
Period
2026

06 — Questions

The questions I get asked about this one.

No, deliberately. The agent drafts; I confirm and publish in Vinted’s own sell form.

Got a report that takes two days to assemble?

That is usually a one-week fix. Tell me what you are reconciling by hand and I will tell you what I would automate first.