01

secondhand.fi

The marketplace where Gen Z in Finland buys and sells pre-loved fashion — with AI pricing, virtual try-on, and buyer protection.

Y Combinator S26 Application | secondhand.fi
secondhand.fi home screen
02 Problem

Selling clothes in Finland is broken

Sources: Tori.fi user research (2025), Vinted market coverage map, internal seller surveys
03 Solution

Full-stack resale marketplace
built for Nordic trust culture

For Sellers

  • AI
    AI auto-fill — snap a photo, get title + description + price suggestion in 3 seconds (Qwen-VL)
  • $
    Dutch auctions — price drops automatically until someone bites. Zero negotiation friction.
  • B
    Business batch upload — outlets, second-hand stores, returns. Upload 100 items at once with size variants.
  • 💰
    Instant payouts — Stripe Connect. Money in your bank next day.

For Buyers

  • 🛡
    Buyer protection — payment held in escrow until buyer confirms receipt. Disputes with evidence.
  • 👗
    Virtual try-on — see how clothes look on you before buying — our own try-on diffusion model, self-hosted on a ComfyUI + SAM3 pipeline (slide 14)
  • 📦
    Integrated shipping — Posti SmartPost labels generated automatically. Or meetup zones.
  • 💬
    Real-time chat — negotiate, send offers, counter-offer — all in-app with WebSocket.
04 Product

The product is live

Marketplace, escrow payments, chat, shipping and AI listing — shipped and running, not a mockup.

secondhand.fi home screen
Home. Two doors in — sell in 30 seconds or browse deals. Finnish-first UI.
Browse page with filters and item grid
Browse. Category, city, condition and price filters; fixed-price and Dutch-auction items in one grid.
Screens from the running product
05 Product

AI writes the listing

AI analysis step of the selling flow
  • One photo in. Brand, category, size, condition and measurements come back filled in — the seller only confirms.
  • Price suggestion from comparable sales, with a one-tap switch to a Dutch auction that walks the price down until it sells.
  • Description and tags (colour, style, fit) generated in the seller's language.
  • Result: the 20-minute listing chore that kills Finnish C2C supply becomes ~30 seconds.
Screens from the running product
06 Product

Item page built around trust

Item page with seller, buyer protection and actions
Item page. Seller profile, condition, measurements, buyer protection and secure payment stated before the buy button.
Buy, message seller and try on actions
Three actions. Buy now, message the seller, or try it on — the try-on sits on the same screen as the purchase, which is where the return-rate saving comes from.
Screens from the running product
07 Product

Virtual try-on, on our own weights

Virtual try-on page
  • Upload a photo, see the garment on yourself. No studio shot needed — secondhand items only ever have one amateur photo.
  • Our model, not an API. The try-on diffusion model is trained in-house and self-hosted, so per-image cost is GPU time, not a per-call vendor fee.
  • Shareable output — try-on images are the organic acquisition loop, not a paid channel.
Screens from the running product · model details on slide 14
08 Product

Checkout: ship it or meet

Escrow either way. Money is released when the buyer confirms the item.

Checkout with Posti SmartPost and Matkahuolto delivery
Ship to me. Posti SmartPost €4.30 or Matkahuolto €4.90, label generated in-app, Stripe-held payment — and the seller receives 100%, we take no seller commission.
Checkout with in-person meeting points in Helsinki
Meet in person. Pre-agreed public meeting points (Kamppi, Rautatientori, Aalto Dipoli, Itis, Sello) with date and time picked at checkout — the local handover that Tori does on trust, done with escrow behind it.
Screens from the running product
09 Market

Secondhand fashion is the fastest-growing segment in retail

$367B
Global secondhand apparel market by 2029
ThredUp 2025 Resale Report / GlobalData
5x
Faster growth than retail clothing
Online resale +23% YoY in 2024 (ThredUp)
€26B
European secondhand market by 2030
€15.9B in 2024 → €26B by 2030 (Cross-Border Commerce EU)

TAM → SAM → SOM

€2.5B
TAM — Nordic secondhand fashion (FI+SE+NO+DK). 27.5M people, €27.3B total fashion market. Secondhand ~10%.
€400M
SAM — Finland online secondhand fashion. 1.4M Finns 18-35, 89% have bought used. €802/yr apparel spend.
€12M
SOM — Year 3: 3% of Finnish online resale. 50% shop C2C online but only 23% use apps — conversion gap.
Sources: ThredUp 2025 Resale Report, Cross-Border Commerce Europe 2024, Globe Monitor Nordic Fashion 2024, Statista Finland population
10

Why Finland? Why now?

  • 🇫🇮
    5.6M people, 95% internet penetration
    Highest digital adoption in EU. Mobile-first culture.
  • ♻️
    89% of under-24s have bought secondhand
    Only 11% never tried it (Posti 2025). 62% have also sold used items. It's cultural, not a trend.
  • 🏪
    No dominant fashion resale player
    Tori.fi = generalist classifieds (€36M rev). Vinted just entered. Bought raised $1.5M pre-seed — market is validated but unowned.
  • 📐
    Small enough to win, big enough to matter
    Win Finland → expand to Nordics (26M people, same culture, same logistics).

Finland → Nordics playbook

Finland 5.6M
+ Sweden 10.5M
+ Norway 5.5M
+ Denmark 5.9M
Total Nordics 27.5M

Same Posti/PostNord logistics, same trust culture, same payment infra (Stripe EU). One codebase, four markets.

11 Traction

Built in 3 months. Solo founder.

18
Backend modules shipped
Auth, AI, payments, chat, shipping, disputes, admin...
148
TypeScript source files
Production-grade NestJS + Next.js 14
9
Item source types supported
Personal, returns, open-box, outlet, deadstock, trade-in...

What's live and working

🤖
AI Analysis
Qwen-VL + GPT-4o-mini
auto-fill listings in 3s
+ own try-on model (slide 14)
💳
Stripe Payments
Checkout + Connect
auto-payouts every 10 min
📦
Posti Shipping
SmartPost integration
auto-generated labels
🏪
Business Accounts
Batch upload, Y-tunnus
outlet/returns/open-box
12 Business Model

Three revenue streams from day one

5% + €0.70

Buyer Protection Fee

Charged to buyer on every transaction. Min €1.00. Covers escrow, dispute resolution, fraud prevention.

On €25 avg item: €1.95 fee (7.8% effective take rate)

€0.40

Shipping Margin

Fixed margin on every shipped order. Posti base €3.90 → buyer pays €4.30. We keep €0.40.

~70% of orders are shipped = €0.28 blended per txn

€0.99

Listing Bumps

Push listing to top of feed for 24h. Optional, seller-paid. ~5% attach rate expected.

Future: business subscriptions, promoted listings, featured brands.

Blended take rate at scale
~10%
Comparable to Vinted (10.5%), Depop (10%), Poshmark (20%). Conservative — room to add business subscriptions and ads.
13

Competitive landscape

Feature Tori.fi
€36M rev, 3.5M MAU
Vinted
€813M rev, €5B val
Bought (ex-Zadaa)
$1.5M pre-seed
secondhand.fi
In Finland Yes (generalist) Since Nov 2023 Yes Yes
Built-in payments No Yes Yes Yes (Stripe)
Buyer protection No Yes No Yes (escrow)
Integrated shipping No Yes Yes (Wolt) Yes (Posti)
AI auto-fill listings No No Email history AI Yes (Qwen-VL photo)
Virtual try-on No No No Yes (ComfyUI)
Business sellers (B2C) No No No Yes (9 source types)
Dutch auctions No No No Yes
Fashion-focused Everything Yes Yes Yes

Why we win: Bought does AI from email receipts — we do AI from photos (no email access needed). Vinted is generic pan-EU — we're local-first with Posti, Y-tunnus business verification, meetup zones. Self-hosted AI models (Qwen-VL, SAM3) = no API dependency. And the try-on model is trained in-house from scratch (202M-param DiT, 59K-pair dataset) — we own the weights, the dataset and the inference stack, where a competitor would rent a third-party try-on API. That's the moat competitors can't copy in a sprint.

14 Technology Moat

Own weights where it matters. Open source for the rest.

202M
Parameter diffusion transformer
First-generation text-to-image DiT trained from scratch — not a fine-tune of someone else's checkpoint
470K+
Training steps completed
512px stage done, 512→768→1024 resolution cascade in progress
59K
Try-on pairs in our dataset
Person / garment / target triplets with masks, pose and segmentation

What we built ourselves

  • 1
    Text-to-image DiT from scratch — custom VAE latent space + Qwen2-7B text encoder + single-stream DiT denoiser. Trained on a curated multi-source image set we assembled ourselves.
  • 2
    Virtual try-on diffusion model — edit-variant of the base model with packshot reference tokens, trained on a 59K-pair dataset we mined and labelled ourselves.
  • 3
    Data pipeline — ~30 fashion/editorial sources scraped, triplet mining (SigLIP + YOLO11-pose + ArcFace), VLM-as-judge recaptioning with Qwen2.5-VL.
  • 4
    Try-on weights + inference stack — the model runs on our own ComfyUI pipeline (NexTry fitting room, already live in production) behind a NestJS proxy. No third-party try-on API in the path.

Open source we deliberately don't rebuild

  • 🏷
    Qwen-VL + GPT-4o-mini — listing auto-fill from a photo (title, description, condition, price hint) in 3s. Self-hosted VL, API only for the text polish.
  • ✂️
    SAM3 + ComfyUI — segmentation and pipeline orchestration around our try-on weights. Plus BiRefNet (server) / @imgly (client, free) for background removal.
  • 🔁
    CatVTON (Apache 2.0, <8GB VRAM, FID 5.43) — hot fallback and capacity overflow, so a GPU incident never takes try-on down.
  • ⚖️
    The split is the strategy: train what is the product and the moat, rent or reuse what is a commodity. Zero per-call AI cost on the core feature.
Second generation — Samay, training right now
288.65M
DiT params, flow matching
46.0M
Own 16-channel latent VAE
1.12M
Self-curated training images
0
Pretrained weights borrowed

Samay is the next base model under the try-on stack: our own 16-channel VAE (~12:1 compression, not a borrowed SD VAE) plus a dual-stream flow-matching DiT with a frozen Qwen text encoder, trained from zero on 1.12M images we captioned and filtered in-house — on one desktop GPU (~32GB). 512px stage done, 768px training now, 1024px next. The edit / reference-image path the fitting room needs is already architected on top of this base. Samay one-pager (PDF) →

Why it matters: try-on costs GPU-seconds, not API calls — no per-generation vendor bill, no pricing or ToS change that can break the core feature, and every listing photo and try-on is training signal we own. 470K+ steps of compute, a 59K-pair dataset and the training infrastructure behind them are years of work, not an API key.
Track record: 121 generative models published on Civitai — 111K+ downloads, 13K+ likes, 1,300+ followers.
15 Impact

Every item resold = one fewer manufactured

3 kg
CO2 saved per garment resold
Reuse has 70x lower environmental impact (EuRIC 2024)
2,700L
Water saved per garment
One cotton t-shirt requires 2,700L to produce
92M
Tons of textile waste annually
Only 12% of clothing is recycled globally

At 100K transactions/year, secondhand.fi would prevent 360 tons of CO2 and save 270 million liters of water. Sustainability is not our marketing — it's our unit economics. Resale has zero COGS.

Sources: EuRIC / Journal of Circular Economy 2024, ThredUp 2025 Resale Report, Planet Aid
16

Roadmap

Q2 2026 (Now)
  • ✅ MVP complete (148 files)
  • ✅ AI pricing (Qwen-VL)
  • ✅ Stripe payments + payouts
  • ✅ Posti shipping
  • ✅ Business accounts + batch
  • ✅ Virtual try-on (own model)
Q3 2026
  • Beta launch in Helsinki
  • First 100 sellers onboarded
  • Partner with 5 outlet stores
  • Aalto University campus launch
  • CSV bulk import for business
  • Try-on model: 768px stage + 16-ch VAE
Q4 2026
  • 1,000 active sellers
  • Expand to Tampere + Turku
  • Business subscription tiers
  • Promoted listings (ads)
  • Social features (follows, shares)
2027
  • 10,000 active sellers
  • Sweden launch (PostNord)
  • €500K+ monthly GMV
  • Series A readiness
  • Brand partnerships
17

Team

👨‍💻

Solo Founder

Full-stack engineer and ML engineer. Built the entire platform in 3 months — and trains the generative models it runs on (121 models on Civitai, 111K+ downloads).

NestJS Next.js PostgreSQL Stripe ComfyUI PyTorch Diffusion / DiT VAE training Docker

Hiring plan (post-funding)

Growth / Community

Helsinki campus ambassadors, seller onboarding, social media.

Frontend Engineer

React Native mobile app. PWA → native conversion.

ML / AI

Pricing models, recommendation engine, image search.

18

The Ask

€500K

Pre-seed round to reach 1,000 active sellers in Finland

40%
Engineering
(hire 2, infra, models)
30%
Growth
(campus launch, seller acquisition)
20%
Operations
(shipping deals, support, legal)
10%
Runway buffer
(18 months runway)

secondhand.fi

The Vinted for the Nordics — with AI, business sellers, and Finnish trust.