CAPABILITY · Client under NDA

Multi-Tenant Online Auction Platform

An online auction marketplace where auction houses post lots and buyers bid across three formats — Live (real-time), Timed (closes at a set time), and Buy Now (fixed price). Built for art, antiques, jewellery, watches, and collectibles.

Online AuctionsCollectiblesFine ArtAntiquesJewelleryWristwatchesNumismaticsRare BooksE-commerce Marketplaces
See it work

One feed. Three ways to win the lot.

Collectibles from multiple auction houses surfaced in one feed. The product handles the three formats that matter for the category — Live (real-time bidding), Timed (closes at a set time), and Buy Now (fixed price) — without making the buyer learn a new mental model for each.

auctionhouse.example
Browsing lots across houses
AllLiveTimedBuy NowAll houses
live
Lot 142·Heritage Galleries

Heritage chronograph, leather strap

Wristwatches
Current bid
$14,500
7 bidders · est. $12K – $18K
live
Lot 87·Christie's Modern

Untitled, abstract oil on canvas, c.1958

Post-War & Contemporary
Current bid
$31,000
12 bidders · est. $25K – $40K
timed
Lot 203·Sotheby's Jewellery

Art Deco diamond solitaire, c.1925

Fine Jewellery
Top bid
$8,400
ends in 2h 14m · est. $6K – $9K
timed
Lot 58·Bonhams Asian Art

Hand-thrown stoneware vase, mid-century

Ceramics & Antiquities
Top bid
$4,800
ends in 1d 8h · est. $3K – $5K
buy now
Lot 311·Antique Timepiece Co.

Antique silver pocket watch, c.1890

Horology
Buy now
$2,250
fixed price · ships in 3 days
buy now
Lot 166·Antiquarian Books

Rare first-edition library, early 20th c.

Rare Books
Buy now
$4,800
fixed price · ships in 3 days
Demo only

This is an animated mockup of the auction-platform capability we'd build — not a live product. Lot photos and house names are illustrative, sourced from Unsplash.

01

Live auctions

Real-time bidding with a 1-hour window. Price ticks up as bids come in, the bidder count is live, and you can place a counter-bid until the gavel.

02

Timed auctions

Place bids any time until the timer hits zero. The platform handles outbid notifications and proxy max-bids in the background.

03

Buy Now

Fixed-price lots — no bidding, just buy. Useful when an auction house wants to move duplicates or below-estimate inventory quickly.

04

Across many houses

A single feed pulls lots from every connected auction house. Each card shows the house, lot number, estimate range, and category.

What we built

An online auction marketplace where auction houses post lots and buyers bid across three formats — Live (real-time), Timed (closes at a set time), and Buy Now (fixed price). Built for art, antiques, jewellery, watches, and collectibles.

How we built it

Multi-tenant by auction house: each house gets its own dashboard to upload lots, schedule auctions, and manage results. Buyers see one unified marketplace across every house on the platform. A single bidding engine handles all three auction formats with mode-specific timing and notification rules.

Two operational surfaces sit on top of one bidding engine. Auction houses use their dashboard to onboard inventory, set the auction format (Live / Timed / Buy Now), schedule start and end times, and review hammer results once the sale closes. Buyers use a unified marketplace to browse lots from every connected house, watch lots, place real-time bids on Live auctions, set proxy max-bids on Timed auctions, or check out instantly on Buy Now lots. Notifications fire on outbid, ending-soon, and won events.

Architecture

How a request flows through it

Each request enters at the top of the diagram, flows through every box, and lands at the bottom — exactly the way the production system behaves. The scan-line traces where a live request would be right now.

tracing request flow
Auction house dashboard Buyer dashboard
(sign in per house) (one account)
Lot upload Browse / search /
Auction scheduling filter the catalog
Format: Live / Timed Watch lots
/ Buy Now Place bid · Buy Now
Bidding engine
Live (real-time, gateway)
Timed (scheduled close)
Buy Now (fixed price)
Multi-tenant lot catalog
Bid history · audit trail
Notifications
(outbid · ending · won)
Payment + winning-bid
settlement on sale close
flow direction┌─┐ component
Stack

What it's built with

Capabilities
Auction House DashboardBidder / Buyer DashboardReal-time Bidding EngineTimed Auction SchedulerBuy Now / Fixed-Price CheckoutMulti-tenant Lot CatalogProxy Max-Bid HandlingPayment + Winning-Bid SettlementOutbid / Ending / Won NotificationsBid History & Audit Trail
Engineering notes

The interesting parts

Auction house dashboard

Houses sign in to their own dashboard to onboard inventory, pick the auction format per lot, schedule start and end times, and review hammer results once the sale closes. Each house's data is isolated; their branding surfaces on every lot they list.

Unified buyer marketplace

One marketplace across every house on the platform — buyers don't learn a new app per auction house. Filter by category, house, price band, or auction type; watch lots, place bids, and complete checkout from a single buyer account.

Three auction modes, one engine

Live (real-time bidding window), Timed (closes at a fixed time, supports proxy max-bids), and Buy Now (fixed price, no bidding) all driven by the same lot data — so buyers don't learn a new mental model per format and houses don't manage three separate systems.

Real-time bidding for live auctions

Every viewer of a Live lot sees the same current bid the instant it's placed. Bidder count, recent-bid feed, and time remaining stream live without polling, so the room doesn't drift between participants.

Decisions

The calls that did most of the work

A handful of engineering choices shape how a system feels. Here are the ones we'd still defend — alongside what each one cost.

01

Three auction modes on a single bidding engine

Live, Timed, and Buy Now look different to buyers but share most of their data model (a lot, a price, a winner). Reusing one engine with mode-specific timing and notification rules is cheaper to maintain than three parallel systems, and it keeps the buyer's mental model consistent across formats.

Tradeoff: Mode-specific edge cases — live extensions, proxy max-bids on timed lots, immediate settlement on Buy Now — all live inside the engine and need careful per-mode testing.

02

Multi-tenant by auction house, not by deployment

Each house wants control over its own lots, pricing, and reporting, but standing up a separate deployment per house would multiply ops cost. Tenant isolation per house gives each one a private dashboard while keeping a single backend.

Tradeoff: Cross-house buyer queries (the unified marketplace browse) have to walk every tenant — needs indexing and caching discipline so the catalog stays fast as the number of houses grows.

03

Real-time bidding via WebSockets, not polling

Live auctions can't tolerate polling lag — every bid needs to broadcast to every viewer immediately, or the bid that 'won' is already stale by the time you see it.

Tradeoff: Persistent connections add operational complexity over stateless REST — connection management, reconnection, and fan-out to all viewers of the same lot all need to be solved.

04

Notifications as a first-class subsystem

Auction value lives in the moments between events — outbid, ending in 30 seconds, you won. If those moments arrive late or unreliably, buyers stop trusting the platform. Treating notifications as a real subsystem (not a bolt-on) keeps every event tight against the bidding engine.

Tradeoff: Adds a delivery layer to test and monitor (push + email + SMS) and a per-user preference surface to maintain.

Want something like this?

Tell us what you're building.

Free 30-minute call. Real humans, real timelines, no follow-up emails forever.

See more capabilities