Why I stopped trading and started tendering with AI
Description and use
An automated tender search and analysis workflow using Python, LangChain, and Pinecone replaces manual document processing, enabling rapid identification of relevant opportunities.
Problem
Consistent profitability in trading was elusive due to zero‑sum competition and information asymmetry.
Outcome
The workflow enables rapid identification of tender opportunities that match a firm’s capabilities, reducing manual effort and improving bid relevance.
Workflow
- Scrape tender websites for URLs
- Download and extract text from PDFs (PDFMiner, BeautifulSoup)
- Generate embeddings with LangChain/OpenAI
- Store embeddings in Pinecone vector database
- Query database with capability description for semantic search
- Review top results via Flask/FastAPI interface
Evidence
Manually sifting through hundreds of pages of RFPs (Requests for Proposals), specifications, and addendums is incredibly time-consuming.
I leveraged that, but shifted focus. Instead of time-series analysis, I needed Natural Language Processing (NLP) and document parsing.
This is where the power of vector databases comes in. I can query the database with a description of my capabilities and find tenders that are semantically similar, even if they don't contain those exact keywords.
- Record date: 2026-10-07T18:55:53.042Z