AgroData
An online auction market for Moldovan farming — grain, machinery, haulage, insurance, even job vacancies. Sellers post a lot, buyers bid against a clock, and both sides confirm the deal afterwards.
AgroData — Agro-industrial Auctions
Ten marketplaces in one site, and a person checks everyone who joins.
Ten marketplaces in one
Grain, machinery, chemicals, haulage, insurance, financing, business services, digital services, consultancy, and job vacancies. Grain and machinery get deep, field-by-field posting forms worked out with the client; the lighter categories share a simpler one.
Bid against a clock, or buy it now
A background job wakes every thirty seconds, closes the lots whose time is up, works out the top bidder and tells them three ways at once: email, Telegram, and a notice pushed straight to the browser.
Everyone is checked by hand
Private sellers photograph both sides of a passport, companies upload registration papers, and staff work through the queue themselves. Nobody trades on this platform anonymously.
Four languages, and every village
Romanian, Russian, English and Turkish, about 2,020 phrases each. All 37 districts and 1,507 localities are in the site, so a listing can say exactly where a lorry has to go.
Six programs, and one database they all share.
-
1
The site people see
One program draws every page, and asks the five behind it for everything it shows.
-
2
Five programs, one job each
Signing people in, running the auctions, moving money, carrying the chat, and fetching the day’s grain prices from the Paris and Chicago exchanges.
-
3
One shared database underneath
They do not pass messages to each other; they read and write the same records. That is what makes the platform feel like one thing instead of six.
Sharing one database is the decision this platform is built on: it is why the six parts agree with each other without any ceremony. It is also the decision that matters most as the platform grows — rebuilding any one part means touching data the others depend on.
Ordinary tools, nothing exotic in any of the six.
In the browser
What a visitor sees: the catalogue, the countdown, the chat, all four languages.
- TypeScript
- React 18
- Next.js 12
- MUI
On the servers
Five small programs, all but one in the same language.
- Go 1.23
- Gin
- Iris
Where the data lives
One database for everything, a fast cache for the auction clocks, and a file store for photographs and documents.
- MongoDB
- Redis
- MinIO
How it was shipped
Every program in its own box, on a cluster written down as a recipe rather than clicked together.
- Docker
- Kubernetes
- Terraform
- GitLab CI
Where the auction gets difficult, and none of it is the countdown.
A bid is all or nothing
Placing one bid does five things at once: records the bid, moves the price, bumps the counter, adds you to the participants, and — the first time you bid on a lot — takes the participation fee from your balance. If the balance is short, none of it happens. Built as one indivisible database operation rather than five hopeful updates in a row.
Two opposite auctions, one machine
In the usual kind the price climbs and each bid must beat the last. In the Dutch kind it falls and each bid must be lower — and “buy it now” flips meaning between them. One set of rules serves both.
Winning is not the end
After the clock stops, the seller confirms and the buyer confirms, separately, and the lot sits half-signed until both have. Only then can they rate each other. Nobody asks for that in a brief; everyone needs it once real money is involved.
Around 1,300 hours of work, and counting.
We are looking for an investor to carry it the rest of the way.
Have a project idea? Write down a quote!
Got a project? Drop us a line if you want to work together on something exciting. Or do you need our help? Feel free to contact us.