DEV Community

Cover image for Inside the Automated Tender Matching System: Engineering the Core of Tenders-SA
mobius-crypt
mobius-crypt

Posted on

Inside the Automated Tender Matching System: Engineering the Core of Tenders-SA

Inside the Automated Tender Matching System: Engineering the Core of Tenders-SA

The heart of Tenders-SA is the automated matching system, an AI-enhanced engine that calculates compatibility scores for every company each time a new tender lands.

This post breaks down the engineering behind it.


🔥 Architectural Goals

  • No manual reviewing of tenders
  • Consistent scoring across all companies
  • Sub-second matching for small datasets
  • High accuracy for industry relevance
  • Explainable results (AI reasoning)

🚦 1. Trigger-Based Matching

Every newly ingested tender triggers:

New Tender → Matching Engine → AI Reasoning → Notification Queue
Enter fullscreen mode Exit fullscreen mode

We use event-driven processing:

interface TenderIngestedEvent {
  tenderId: string;
  timestamp: Date;
}
Enter fullscreen mode Exit fullscreen mode

🧮 2. The Scoring Model

The scoring model is intentionally weighted and explainable, not a black box.

Industry Alignment: 35%
Geographic Fit: 25%
BBBEE Level Match: 20%
Financial Capacity: 15%
Certification Match: 5%
Enter fullscreen mode Exit fullscreen mode

Each category uses normalized values:

  • Industry → NAICS/SIC similarity
  • Geography → province + region mapping
  • BBBEE → compliance threshold
  • Finance → turnover vs project size
  • Certifications → prerequisites

This ensures fairness and transparency.


🧠 3. AI Reasoning Layer

After scoring, we run an LLM agent to produce human explanations:

  • Why this tender matches
  • What the company might struggle with
  • What documents are required
  • Recommended next steps

Example:

“Experience in ICT support aligns with tender's technical scope. Ensure your tax clearance is valid before submission.”


📡 4. Notification Pipeline

Detailed in
https://www.tenders-sa.org/documentation/user-guides/tender-application-guide
, the pipeline supports:

  • Email
  • In-app alerts
  • Daily summaries
  • Future mobile push

Each item includes:

{
  score: 85,
  reasoning: "...",
  deadline: "2025-12-04",
  actionUrl: "/tenders/123"
}
Enter fullscreen mode Exit fullscreen mode

📈 5. Analytics & Feedback Loops

We track:

  • Open rate
  • Click-through rate
  • Application rate
  • Response time
  • Engagement by company type

This lets us refine scoring weights and identify industry trends.


🧩 6. Why This Matters

SMEs were missing tenders because:

  • Nobody checks tender portals every hour
  • Too many irrelevant opportunities
  • Hard to judge eligibility
  • Compliance requirements are complex

Our system reduces missed opportunities by 80%.


📚 Further Reading

From our blog:


More posts are coming that detail the AI architecture and form automation system.

Top comments (0)