QueueReaper.
Sold cars become delivery leads, in real time.
A car delivery business paid an employee to watch live auctions and write down every car that sold and who bought it, so the owner could call each buyer and offer delivery. I designed and built QueueReaper to do the watching: it reads the live auction screen, turns it into data, and puts every buyer into a lead pipeline.
- Problem
- Sold cars and buyers were copied off a live auction feed by hand. Watching a fast feed for hours overloads a person, and every sale they miss is a buyer the owner never calls.
- Users
- The owner, who calls buyers to sell delivery, and the employee who used to watch the feed.
- My role
- Everything, on my own: research, wireframes, mockups, branding, the design system, the scraper and the app.
- Built with
- React, Python and PostgreSQL. A client project at InnoGEV.
- Outcome
- The scraper turned the live auction screen into data in real time, so nobody has to sit and watch it.
- Status
- Demoed to the owner, who approved it for development. The next version demo is coming up.

One person, one live feed, one notepad
The owner runs a vehicle delivery service. His customers come out of wholesale auctions: a dealer who just bought a car may need it moved. To find them, he had an employee watch the auction live online and write down each car that sold and who bought it. Then he called each buyer to offer delivery.
Auctions move fast and the feed does not stop. Watching it for hours is cognitive overload, and a sale the employee misses is a customer the owner never hears about. I researched online how these live auctions run and what the feed shows, then mapped the owner’s process from a sold car to a delivered one.
How it works
The core of the product is a scraper: a program that reads a screen the way a person would and writes down what it sees as data. Everything after it is the owner’s process, in order.
- 01The live auctionCars cross the block on the auction’s own feed.
- 02The scraperReads the feed in real time and records each car as it sells.
- 03The sold listCar, VIN, seller and buyer, ready to act on.
- 04Buyer pipelineLead, Contacted, Closed or Lost, moved with a click.
- 05DeliveryA transport vendor, pickup and dropoff, and the delivery status.
- 06InvoicePer vehicle, linked back to the buyer and the car.
The design: who to call next, without opening anything
The live view keeps the whole auction on one screen: the car on the block, the queue behind it, and every sale with its buyer and pipeline status. The owner should never have to open a record to see who to call next. It is dark and dense on purpose, because it stays open for a whole auction. Pipeline status is written on every chip, not carried by color alone.




What I built
- DesignWireframes, mockups, the brand and the design system.
- ScraperThe piece that turns the live auction screen into data.
- AppA React front end, a Python API and a PostgreSQL database modeled on the owner’s chain: auction, vehicle, buyer, delivery, invoice.
It runs locally today, so there is no public link. The screens on this page are from the working app.
Where it stands, and what I will measure
- Demoed and approvedThe owner approved it for development after the first demo
- Next version demoComing up
- Next: sales caught by the scraper against by handOn the same auction
- Next: minutes from a sale to the first callThe owner’s real speed to lead
What I would do differently
| 01 | Measure the manual way firstI never counted how many sales the employee caught or missed, so I cannot yet put a number on the scraper. Before the next demo I would run both on the same auction. |
| 02 | Get it off my machine soonerIt runs locally. Hosting it is the step between an approved demo and a tool the owner’s team opens every auction day. |