It started with a frustration. A friend who works in construction was sitting at his table on Friday evening with a stack of papers. "Reading tenders," he said. "Three hours each. And half of them we can't bid on anyway."
We sat across from him and thought: this is an AI problem. Not "AI will solve everything," but "AI can do this specific thing 10× faster than a human, and then you decide." The ideal division.
Saturday — the pipeline
We started with the simplest form: PDF in, summary out. Three steps.
pdfplumberto extract text- Split that text into chunks of ~3,000 tokens
- For each chunk: send to an LLM with a fixed prompt
By Saturday afternoon it worked. Not perfect — some tables became a mess — but we had reduced an 84-page document to half a page in 90 seconds.
The first version doesn't need to be good. It just needs to do something that didn't exist before.
Sunday — the matching
A summary is nice, but the real question is: should I read this? That's where the match score came in. We had the LLM score a company profile against each tender on four axes: industry, revenue requirements, certifications, location. Output: a percentage and an explanation.
By Sunday evening we had a working prototype. Not pretty, just working. An upload button, a list of scores, a click to see the summary.
What we learned
Three things:
- The AI is not the value — the workflow is. Our client didn't care about the summary. He cared about "should I read this or not?". The match score did that work, not the summary.
- Start ugly. The prototype was ugly. But it was also real and testable. That same week we could try it on real tenders.
- AI belongs with humans, not above them. The system never says "you should bid on this." It says "here's an 87% match, here's why." The human decides.
Two months later this prototype had become TenderBlender — a platform with a team, a kanban, and an AI assistant. But the core was still that Saturday-Sunday foundation.
If you have a process where people read things before deciding, AI can help enormously. Not by taking over the decision — by removing the reading time.