AI Tender Command Centre
AI-powered intelligence for large government tenders
Government tenders are published as long, unstructured PDFs — sometimes close to 300 pages — with the details that actually matter (deadlines, EMD, estimated cost, issuing authority, eligibility, geography) buried inside. Screening them manually for relevance and risk doesn't scale.
If tender screening can be automated reliably, an organization can evaluate far more opportunities in the same amount of time, and catch details a manual first pass might miss — without needing a human to read every page of every tender that comes in.
- 01A scraping layer (Playwright) that pulls tenders from portals into a structured pipeline.
- 02A document-processing stage (PyMuPDF) that handles large, multi-hundred-page PDFs.
- 03An AI extraction layer using RAG — embeddings, vector retrieval, and LLM grounding via the Groq API — to pull out key fields: important dates, EMD, estimated cost, budget, issuing authority, and geographic information.
- 04A REST API (8 endpoints) backed by PostgreSQL/Supabase, and a live React + Tailwind dashboard connected to it in real time for tracking and reviewing extracted tenders.
- 05The BRD, wireframes, and risk-assessment framework that guided the MVP build.
- 01DiscoverPlaywright scrapers pull tenders from portals
- 02ProcessPyMuPDF handles large multi-hundred-page PDFs
- 03ExtractRAG + Groq LLM pull dates, EMD, cost, authority, geography
- 04StructureNormalized records land in PostgreSQL / Supabase
- 05ServeFastAPI REST layer — 8 endpoints
- 06TrackLive React + Tailwind dashboard for review & alerts
- Large PDF processing (up to ~300 pages per tender)
- AI-assisted extraction: dates, EMD, estimated cost, budget, issuing authority, geography
- RAG pipeline — embeddings, vector retrieval, LLM grounding
- REST API (8 endpoints)
- Live tracking dashboard
- Alerting groundwork for time-sensitive tenders
Initial plans assumed paid-tier access to Anthropic and Gemini APIs, which weren't available during the internship.
→ Re-architected the extraction layer around the Groq API instead, and used the constraint as the reason to learn and implement RAG from scratch — embeddings, vector retrieval, and grounding — rather than relying on long-context prompting alone.
Tender PDFs vary wildly in structure, length, and formatting quality across issuing authorities.
→ Built the document-processing stage around PyMuPDF with enough tolerance to handle documents approaching 300 pages, and scoped the MVP's extraction fields around what could be reliably grounded rather than everything that might theoretically be useful.
Working MVP: live dashboard connected to a real API and database. Proposed to MeraPath leadership alongside a broader "MeraPath EduOS" concept. Internal tool, not yet public.