TenderLens
A Telegram bot and web dashboard that read Russian public procurement documents (44-FZ) and return a structured brief for each tender.
Challenge
Suppliers who bid in Russian public tenders read the same pile for every lot: a long spec, contract terms, scanned attachments and the notice page, where the real item specifications often live instead of the documents. Reading all of it for every tender is slow work.
What we built
A supplier sends a link from zakupki.gov.ru. The bot downloads every document, unpacks archives, recognises the text on scans and also reads the notice page. A language model then fills a fixed structure: a tender card with price, deadlines, payment and bid security, risks graded critical, warning or info, and every item with its codes and requirements line by line. The national regime, the bans, restrictions and preferences for domestic goods, is decided by code against the government lists, not by the model. Up to 20 links wait in a queue, and each brief arrives in the chat and in the web dashboard. The dashboard needs no password: users sign in with a one-time link in Telegram.
How it went
Work started on 8 June 2026. The client tested the bot on real tenders, and his feedback shaped the product. On 9 June he caught a brief that put the bid security at 5–30% where the documents said 5%. Since then the model is not allowed to fill in values the documents don't give, guess market prices or name brands that are not in the text, and filler requirements such as "as agreed" are removed from the brief. After he caught a wrong national-regime conclusion, that decision moved from the model to code. The same tender also had to get the same brief every time: at first one item got 10 requirements on one run and 17 on the next, so the analysis was set up to give the same answer each time.
In July the landing page and the web dashboard joined the bot. Product search and margin calculation were built too, then taken out on 6 August because their accuracy fell short. Better no answer than a wrong one.
The demo shows the translated landing page. Real analyses are not reproduced.
“Didn't just do what we asked. About five times I heard 'this won't work', each time with a better option. The first users arrived before the release.”
Result
A supplier reads a one-screen brief instead of the whole tender pack, and its facts come from the documents rather than the model's guesses.
Want one
like this?

