← All work

Australia's marketplace for cycling, running, swimming and fitness gear: independent sellers list their own catalogues, buyers enquire or check out in one place, and each seller is paid through Stripe Connect. The same marketplace architecture we built for CoffeeLink, applied to sport.

Client
Traktion
Year
2026
Timeline
2025 to 2026, pre-launch
Industry
Sports and outdoor retail
Web
Visit site ↗
Traktion marketplace home, Australia's sports marketplace

Impact

  • 0+
    Sellers
    Platform count, staging, October 2026
  • 0+
    Products
    Platform count, staging, October 2026
01

The challenge

Traktion started as a prototype on Replit: a Vendure backend, a Next.js storefront, a hosted Postgres and object storage that could not be moved, and a worker process that nobody had started. It already had real data, 887 products from 32 sellers, and no path to production.

A marketplace also asks more of the platform than a store does. Every seller needs an isolated catalogue, their own shipping rules and their own payout, and buyers expect one search across all of them.

02

What we built

We moved the platform onto our own infrastructure: a dedicated container for the app, shared PostgreSQL, Redis and MinIO, Docker, and a Cloudflare tunnel in front. Asset serving was rewired from the prototype's storage to MinIO. The worker that runs search indexing and email was wired into the start sequence with a watchdog, a 13,000-job indexing backlog that crashed it was cleared, and database ownership and sequences were repaired so the application could boot its own schema.

On the commerce side the build keeps Vendure's channel model for seller isolation, Stripe Connect for per-seller payouts with a platform commission, and an enquiry flow for equipment that is sold on quote rather than on cart.

03

Key features

  • Multi-seller catalogue with channel isolation
  • Stripe Connect payouts with platform commission
  • Enquiry and quote flow for equipment
  • Search across sellers, brands and categories
  • Seller directory and brand pages
  • Migration from Replit to our own infrastructure
04

Results

Traktion runs on staging with its full catalogue, ready for the commercial launch. Payments and transactional email switch on when the business is.

05

Stack

  • Vendure
  • Next.js
  • Stripe Connect
  • PostgreSQL
  • MinIO
  • Docker
  • Cloudflare

The operator note

Marketplaces rarely fail at checkout. They fail at seller onboarding and at taxonomy, when thirty sellers describe the same product thirty ways. We would set the attribute vocabulary before the first seller lists, and we would move off a prototype host before the data is real, not after.