Case study · DCL Auction
A full auction night, run from one laptop and a dozen phones
Player auctions decide a league's season, and paper sheets and calculators make them slow and error-prone. We built DCL Auction so the auctioneer, the sponsors and the audience all see the same live state.
- Client
- Dadoji Night Cricket League (DCL)
- Sector
- Sports and events
- Platform
- Web application (desktop, phone and projector)
- Year
- 2025–2026
14
teams bidding live in the 2026 season
3
synced views: auctioneer, sponsor phones, big screen
0
app installs: sponsors join from a browser with a PIN
1
setup wizard to run it for any league
The challenge
What needed solving
An auction night has many people acting at once: an auctioneer calling lots, sponsors raising bids, organisers tracking purses and squads, and an audience that wants to follow every sale.
Mistakes are costly. A wrong purse total or a player sold twice can stall the evening and cause disputes, so every action needed to be reversible without ever corrupting the numbers.
What we built
The solution
- 01
Auctioneer console
Draw a random player or search for one, then mark SOLD, UNSOLD or skip. Keyboard shortcuts keep the room moving quickly.
- 02
Phone bidding for sponsors
Each team signs in on its own phone with a team PIN and bids in fixed steps, seeing its remaining purse and squad as it goes.
- 03
Projector big screen
A full-screen view shows the current player, the live bid, the leading team and the countdown for everyone in the venue.
- 04
Synced countdown with a real pause
Every lot has a clock that stays in step across all screens, even when devices' clocks disagree.
- 05
Corrections without chaos
Undo a bid or a result, edit a sale, release a player or transfer them between teams, with purses always recalculated correctly.
- 06
Spreadsheet in, report out
Players and teams come in from an Excel template, photos are cropped automatically around faces, and results export as a report after the night.
Under the hood
Engineering decisions that mattered
Purses that can't drift
Remaining purse is derived from recorded purchases rather than kept as a running total, so undoing or releasing a sale can never refund twice.
Max-bid rule
A team can only bid what still leaves enough to complete its squad, so nobody can spend themselves into an incomplete team.
Clock-skew correction
Screens measure the difference between their clock and the server's and correct for it, so the countdown ends at the same moment on every device.
Automatic face cropping
Uploaded player photos are centred on the face using an OpenCV face-detection model, so the big screen looks consistent without manual editing.
The result
What changed
- Set up for the league's 2026 auction with 14 teams, each bidding from a sponsor's own phone.
- Season data is kept separately by year, so each edition starts clean while history stays available.
- A later release generalised it with a setup wizard, so any league can run its own auction.
Technology
- Python
- Flask
- SQLite
- JavaScript
- OpenCV
- Docker
- Nginx
- AWS EC2
Services involved
More work
Other projects
Want results like these for your business?
Share your requirement in a few lines. The right team at Immense Growth will review it and get back to you with clear next steps.