Case studies

Before and after

A few pieces of marketplace work, described generically. Some are from our own platforms, some from work we do for others. The problems will look familiar to anyone who has run a marketplace for a while.

RebuildMigrationModern stack

Off WordPress and a document store, onto a modern stack

A peer-to-peer marketplace that had grown on WordPress with a separate document database for messages. Client work, 2019 onward.

Before

Listings, users, blogs and reviews lived in WordPress tables. Messages lived in a document store nobody wanted to touch. Every new feature was a plugin fight, and launching a second site meant copying everything by hand.

What we did

  • Rebuilt the marketplace on a modern PHP framework with the same look members knew
  • Wrote migration commands for users, listings, blogs, reviews and messages, and ran them until the numbers matched
  • Made new sites a configuration, not a copy: per-site settings, per-site identity
  • Set up a release pipeline that deploys in minutes and rolls back in seconds

After

  • More than 45 sites now run on that foundation
  • Seven languages served
  • Framework kept current through every major version since
  • No site has been rebuilt twice
FraudModerationPayments

Scammers out, honest sellers unaware anything happened

The same marketplace network, once it was big enough to be worth attacking. Ongoing since 2020.

Before

Fake accounts sent the same scam message to hundreds of sellers. Stolen cards bought credits and cashed them out before the chargeback arrived. Moderators worked from their inbox and a spreadsheet.

What we did

  • Added identity and age verification with a human review queue for the cases the provider could not decide
  • Built eight spam-detection services, including reading the text inside uploaded images, running on their own queues
  • Added VPN and proxy detection, a bot challenge on sign-up, and automatic attack mode when traffic spikes
  • Introduced silent visibility suppression so a caught scammer keeps typing into the void instead of registering a new account
  • Put payout holds on any account with an open dispute, and a bank-account blocklist that gives no hint it exists
  • Gave moderators a dashboard showing what was caught, why, and what to do about it

After

  • Spam and fraud handling is a product, not a chore
  • Over 200 iterations on the defences, still running
  • Identity documents and addresses encrypted at rest under separate keys
  • Moderators spend their time on judgement calls, not triage
MobilePerformanceMedia

Desktop-era pages, phone-era members

Sites designed for a monitor, used from a phone by most members. Client work, 2023 onward.

Before

Pages were responsive on paper and slow in practice. Uploads from phones failed on format or size. Members asked for an app, which would have meant two more codebases.

What we did

  • Put an HTTP cache in front of the application for anonymous visitors, with bypass for logged-in members
  • Made every site an installable web app with its own manifest, icons and push notifications
  • Rebuilt the media pipeline: phone image formats accepted and converted, modern output formats, chunked uploads, background video compression
  • Buffered hot counters in memory and flushed them once a minute instead of writing on every view

After

  • Every site installs on a phone like an app, no app store
  • Cached pages for visitors, live pages for members
  • Uploads from any phone just work
  • No app store, no second codebase
CollectablesOwn platformAuctions

An auction system for the philatelic institutions

Our own work for the joint body of a national philatelic federation, the postal service and the dealers’ chamber, 2021 to 2022.

Before

Lots were described on paper and in spreadsheets, bids came in by email, and the results had to be typed into invoices. Four languages of members, one volunteer doing the typing.

What we did

  • Built an auction platform with lots, catalogue numbers, condition, bidders, bids, orders and invoices
  • Made it fully bilingual and then quadrilingual: Dutch, French, English, German
  • Added lot photographs, PDF catalogues and spreadsheet exports for the people who still wanted paper
  • Ran it on the same discipline as our larger sites: backups, health checks, plain admin tools

After

  • Bids, invoices and exports without retyping
  • Members served in their own language
  • The volunteer got their evenings back

Sites and clients are not named. Ask us in conversation and we will walk you through the details that are ours to share.