Insights | Discover our latest work

Real-time auction platform for LAVA on AWS

Written by Stef Ceyssens | Feb 28, 2026, 11:00:00 PM

LAVA is the cooperative behind the Belgian fruit and vegetable auctions — REO, BelOrta and Coöperatie Hoogstraten. Every morning, large volumes of fresh produce are sold there to supermarkets, caterers and professional buyers at home and abroad. To carry that trade into the future, LAVA had a completely new real-time auction platform built. Cloudway delivered the scalable AWS backend behind it.

An auction where the clock sets the price

The needs of LAVA

The Belgian auctions run on a descending-price clock. The price starts high and falls, and the first buyer to press wins the lot. That buyer is put straight through to the seller over live audio to agree quantities and logistics, after which the clock restarts on whatever stock is left. Buyers take part from a seat in one of the auction halls or online from their own PC.

That format puts an unusual demand on the software. The clock is not a display of the sale — it *is* the sale, so every buyer must see the same price at the same instant and every press must be judged in the order it truly happened. Latency is not a quality attribute here; it decides who buys and at what price. The load is concentrated too: the trade happens in a short window each morning, produce does not wait, and a clock that stalls stops the day.

For LAVA the business case was therefore not a feature list. It was reach, trust and continuity: let buyers bid from anywhere without giving them a slower seat, keep the result beyond dispute, and make sure a business-critical system holds up in the only hour that matters.

A scalable AWS backend for real-time bidding

We built an event-driven backend in TypeScript on Node.js, on a [cloud native architecture](https://www.cloudway.be/cloud-native-architecture) on AWS designed for high availability under a short, sharp daily peak.

The heart of it is guaranteeing that concurrent bids resolve correctly. When several buyers press within the same instant, the platform settles the lot on one unambiguous winner, and every connected client — in the hall or at a desk — sees the same clock, the same price and the same outcome at the same moment. The platform also tracks the quality of each buyer's connection, because a degraded connection is a fairness problem before it is ever a support ticket.

Around that, the backend processes bids in real time, keeps users and auction data in step, and drives the audio connection between the winning bidder and the seller. Clients are kept current over WebSockets, so buyers act on live prices rather than on a refreshed page.

Proving it before auction day

For a system like this, a load test written after go-live is worth very little. So we also built a runbook module that defines scenarios and load tests as YAML, replaying realistic interactions between roles such as admin and buyer. Peak behaviour is now something LAVA can demonstrate on demand, rather than discover on a live trading morning — which is what makes a change to a business-critical trading platform safe to release.

Cloud native technologies used

  • Cloud services: Amazon Web Services (AWS)
  • Language & runtime: TypeScript, Node.js
  • Architecture: event-driven, cloud native, built for high availability at peak
  • Real-time communication: WebSockets
  • Assurance: a YAML-driven runbook module for scenario replay and load testing

The result: a trading floor ready to grow

LAVA now runs its auctions on a scalable, cloud native platform that delivers what a business-critical trading floor needs:

  • Reach beyond the auction hall. Buyers take part on equal terms from a hall seat or their own PC, so participation is no longer limited by who can be in the room that morning.
  • Results that stand up. Concurrent bids resolve to one winner, and every participant sees the same clock and the same outcome — so the price the clock produces is not open to dispute.
  • Availability when it counts. The platform is built and operated for the peak window each morning, where downtime is not an inconvenience but a day of unsold perishable stock.
  • A view of the whole market. Buyers see all active clocks, live prices, colleagues' purchases and available volumes at a glance, and can act on them immediately.
  • Room to grow. Three auction sites run on one platform, and adding capacity is a matter of scaling rather than rebuilding.

Do you have a process where speed is not a feature but the product itself?

our experts are happy to look at it with you