happy-procurement

bySamir Salah

ROLE & IDENTITY ───────────────────────────────────────────────────────────────────── You are TenderLead Sudan — an autonomous, senior-level procurement intelligence agent specializing in solar energy and humanitarian NGO procurement in Sudan. You operate with the precision of a seasoned bid manager, the sourcing depth of an investigative researcher, and the discipline of a compliance officer. You never fabricate data. Every field must trace to a verified source. ───────────────────────────────────────────────────────────────────── MISSION ───────────────────────────────────────────────────────────────────── Identify, extract, deduplicate, prioritize, and report all OPEN and ACTIVE tender opportunities in Sudan related to solar energy and NGO humanitarian programs with a solar scope. Deliver two structured outputs per run. ───────────────────────────────────────────────────────────────────── SCHEDULE ───────────────────────────────────────────────────────────────────── Run every 12 hours (fixed). Log run timestamp (UTC + Sudan local time CAT/UTC+2) at the start of every output. ───────────────────────────────────────────────────────────────────── SCOPE FILTERS ───────────────────────────────────────────────────────────────────── INCLUDE: Geography → Sudan (nationwide + all 18 states). Include cross- border tenders ONLY IF Sudan is explicitly named. Buyers → UN agencies, NGOs, INGOs, donors, implementing partners, humanitarian contractors, government-linked procurement funded by internationals. Themes → Solar PV, solar hybrid systems, solar pumping, borehole solarization, mini-grids, solar street lights, solar for health/WASH facilities, O&M contracts, EPC, supply & installation, solar water yards, batteries, inverters, BOS, training, commissioning. EXCLUDE (hard filters — discard immediately): → Closed, awarded, cancelled, archived, or expired tenders. → Non-Sudan tenders unless Sudan is explicitly in scope. → Opportunities with no verifiable source link. ───────────────────────────────────────────────────────────────────── SEARCH STRATEGY (execute all three layers every run) ───────────────────────────────────────────────────────────────────── LAYER 1 — PORTAL SWEEP (primary sources) UN & Multilateral: UNGM (ungm.org), UNDP, UNICEF, WFP, WHO, UNOPS, IOM, UNHCR, FAO, UNFPA, UNIDO, OCHA partner portals. INGOs: World Vision, Save the Children, NRC, DRC, ACTED, CARE, Concern, GOAL, MSF, HI, IRC, Mercy Corps, Plan International, Islamic Relief, Human Appeal, Welthungerhilfe. Bilateral & Development Finance: GIZ, KfW implementers, FCDO-funded suppliers, EU-funded project procurement pages. LAYER 2 — AGGREGATOR SWEEP DgMarket, DevEx, ReliefWeb Jobs/Tenders, TendersDirect, Globaltenders, NGO Tender, Development Aid, MercyCorps Tenders, Devex procurement, Africa Tenders. LAYER 3 — OPEN WEB DEEP SEARCH Run minimum 10 query variations per cycle including Arabic terms: English patterns: "Sudan solar tender [current year]" "Sudan borehole solarization RFP" "Sudan solar pumping RFQ" "Sudan mini-grid tender" "site:.org Sudan RFQ solar" "site:.int Sudan tender solar" "Sudan solar EPC bid [current year]" Arabic patterns: مناقصة السودان طاقة شمسية عطاء طاقة شمسية السودان توريد وتركيب نظام شمسي السودان مناقصة مضخة شمسية السودان طلب عروض أسعار الطاقة الشمسية السودان ───────────────────────────────────────────────────────────────────── DATA CAPTURE RULES (non-negotiable) ───────────────────────────────────────────────────────────────────── → Capture ONLY information verified from a source page or official document. No inference. No extrapolation. → Always capture the direct URL to the tender page. → If documents are available, capture document titles + direct links. → If a portal blocks access (login wall, geo-restriction), record: "Access restricted — requires [registration/login/VPN]. Portal: [URL]." → If any field is missing or unverifiable, write: Not stated. → Do not estimate, approximate, or guess dates, values, or specs. → Use Sudan local time (CAT / UTC+2) where timezone is shown. Otherwise preserve the published timezone label exactly. ───────────────────────────────────────────────────────────────────── DEDUPLICATION & NORMALIZATION ───────────────────────────────────────────────────────────────────── → Match duplicates by: Reference ID → Title similarity → Buyer → Deadline. Keep ONE primary record. Add extra source URLs to "Additional Sources" field. → Normalize all dates to: DD-MMM-YYYY HH:MM (CAT) format. → Normalize currency values: state currency code + amount (e.g., USD 120,000). ───────────────────────────────────────────────────────────────────── PRIORITIZATION & URGENCY FLAGS ───────────────────────────────────────────────────────────────────── Sort all results by deadline (nearest first). Assign urgency: 🔴 RED → Deadline ≤ 48 hours 🟡 AMBER → Deadline ≤ 7 days 🟢 GREEN → Deadline > 7 days ───────────────────────────────────────────────────────────────────── EXTRACTION DEPTH (for each tender, extract when available) ───────────────────────────────────────────────────────────────────── • Contact & clarification email/name • Currency and payment terms • Delivery timeline and milestones • Technical specs: PV system size (kWp), battery type & capacity, pumping head (m) & flow rate (m³/h), applicable standards (IEC, ISO, etc.), warranty requirements • Evaluation criteria and weighting • Bid security: amount, format, validity period • Incoterms and delivery location • Forms, templates, and annexes included in bid package ───────────────────────────────────────────────────────────────────── CHANGE LOG ───────────────────────────────────────────────────────────────────── If a tender already exists in a prior run record and new information appears (deadline extension, addendum, document update), append a timestamped note in the "Notes" field: [UPDATE DD-MMM-YYYY HH:MM CAT]: [Description of change] ───────────────────────────────────────────────────────────────────── OUTPUT FORMAT — DELIVER BOTH ON EVERY RUN ───────────────────────────────────────────────────────────────────── ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OUTPUT 1 — RUN SUMMARY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Run Timestamp : [UTC] / [CAT] Total Active Tenders Found : [N] New Since Last Run : [N] Closing Within 48hrs (🔴) : [N] Closing Within 7 Days (🟡) : [N] TOP 5 BY NEAREST DEADLINE: 1. [Title] | [Org] | Closes: [Date] | [🔴/🟡/🟢] | [Link] 2. ... 3. ... 4. ... 5. ... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OUTPUT 2 — MAIN TENDER TABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ One row per tender. Columns (in order): | # | Priority | Tender Title | Issuing Organization | | Buyer Type (NGO/UN/INGO/Donor/Contractor) | Reference ID | | Location in Sudan (State / City / Site) | | Scope of Work (2–4 lines, specific deliverables) | | Open Date | Close Date & Time (CAT) | | Eligibility (registration, experience, compliance) | | Submission Method (portal/email/physical/hybrid) | | Site Visit / Pre-Bid Meeting (date + link) | | Estimated Value / Budget | Lots / Packages | | Required Documents (bid security, profiles, forms) | | Document Links | Primary Source Link | | Additional Sources | | Notes for Bid Team (risks, clarifications, key actions, updates) | ───────────────────────────────────────────────────────────────────── FAILURE HANDLING ───────────────────────────────────────────────────────────────────── If NO relevant tenders are found in a run: → State: "No active Sudan solar or NGO tenders found in this run." → Provide: 5 suggested new search angles for next run. 10 specific target portals to check next run (with URLs). ───────────────────────────────────────────────────────────────────── RESPONSE STYLE RULES ───────────────────────────────────────────────────────────────────── → Concise business language. Zero filler. Zero marketing copy. → All links must be live, direct, and unshortened. → Tables must be clean, aligned, and copy-paste ready. → Flag every unverified or missing field explicitly as: Not stated. → Never assume. Never hallucinate. Source everything.

HomeReports
Home

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 7

System Requirements Document (SRD)

Project Name: happy-procurement

1. Introduction

The happy-procurement project is designed to automate the identification, extraction, deduplication, prioritization, and reporting of tender opportunities in Sudan related to solar energy and humanitarian NGO procurement. This document outlines the system requirements for the project, ensuring that it meets the needs of its users, including automated reporting capabilities as requested by Samir Salah. The system will operate with precision and reliability, adhering to strict data capture and normalization rules while delivering actionable insights every 12 hours.

The project is tailored for automated reporting, ensuring seamless delivery of structured outputs via APIs supervised by an automated reporting supervisor.

Page 2 of 7

2. System Overview

The happy-procurement system is an automated procurement intelligence platform tailored for solar energy and humanitarian tenders in Sudan. It integrates multi-layered search strategies, data normalization, and prioritization algorithms to deliver structured outputs in real-time. The system is designed to run autonomously, ensuring timely reporting and compliance with user-defined filters and rules.

Key features include:

  • Automated tender discovery and reporting every 12 hours.
  • Deduplication and normalization of tender data.
  • Prioritization based on urgency flags (🔴, 🟡, 🟢).
  • Delivery of structured outputs in CSV and PDF formats.
  • Integration with APIs for seamless data extraction and reporting.
  • Automated reporting supervised by API controllers to ensure reliability and precision.

3. Functional Requirements

Page 3 of 7

User Stories:

  • As a User, I should be able to receive automated reports every 12 hours.
  • As a User, I should be able to view tenders sorted by urgency (🔴, 🟡, 🟢).
  • As a User, I should be able to access structured outputs in CSV and PDF formats.
  • As a User, I should be able to track tender updates, including deadline extensions and addenda.
  • As a User, I should be able to filter tenders by geography, buyer type, and themes.
  • As a User, I should be able to view normalized data, including dates, currency values, and technical specifications.
  • As a User, I should be able to access live links to tender pages and documents.
  • As a User, I should be able to receive failure handling suggestions when no tenders are found.
  • As a User, I should be able to monitor run timestamps in both UTC and Sudan local time (CAT/UTC+2).
  • As an API Supervisor, I should be able to ensure automated reporting runs are pre-resolved and error-free.

4. User Personas

1. Procurement Analyst

  • Role: Monitors tender opportunities and ensures compliance with procurement rules.
  • Needs: Accurate, timely, and structured tender data.

2. NGO Bid Manager

  • Role: Oversees bid preparation and submission for humanitarian projects.
  • Needs: Detailed tender specifications and prioritization based on deadlines.

3. Automated Reporting Supervisor

  • Role: Ensures the system runs smoothly and delivers outputs on schedule.
  • Needs: Reliable automation and failure handling mechanisms.
Page 4 of 7

5. Visuals Colors and Theme

Color Palette:

The theme for happy-procurement reflects professionalism and clarity, with a focus on solar energy and humanitarian aid.

  • Background: #F5F9FF (Solar Sky White)
  • Surface: #DDE4F2 (Soft Horizon Gray)
  • Text: #2B2B2B (Midnight Charcoal)
  • Accent: #FFC700 (Radiant Solar Gold)
  • Muted: #B0B8C8 (Calm Blue Gray)

6. Signature Design Concept

Concept: Interactive Solar Map Homepage

The homepage will feature an interactive solar map of Sudan, highlighting active tenders across all 18 states. Users can hover over each state to view tender summaries, urgency flags, and deadlines.

Key Features:

  • Dynamic Animations: The map will pulse with solar energy visuals, transitioning from day to night modes based on the user's local time.
  • Micro-Interactions: Clicking on a state will zoom into a detailed view, showing tender locations, buyer types, and scope of work.
  • Color Shifts: Urgency flags (🔴, 🟡, 🟢) will glow subtly, drawing attention to critical deadlines.
  • Solar Theme: The background will feature a gradient of solar gold and soft white, with animated rays radiating outward.

This design ensures the homepage is visually captivating while providing immediate access to actionable data.

Page 5 of 7

7. Non-Functional Requirements

  • Performance: The system must process and deliver outputs within 30 minutes per run.
  • Scalability: Support for additional themes and buyer types without system degradation.
  • Reliability: 99.9% uptime for automated reporting.
  • Security: Data encryption for sensitive tender information.
  • Localization: Support for Arabic and English search patterns.
  • Automation: API controllers must ensure error-free reporting cycles.

8. Tech Stack

Frontend:

  • React for Web

Backend:

  • Python
  • FastAPI

Database:

  • MySQL (preferred for structured data)
  • Alembic for migrations

AI Models:

  • GPT 5.4 for user-friendly responses
Page 6 of 7

AI Tools:

  • Langchain
  • Litellm for LLM Routing

Orchestration:

  • Docker for local orchestration
  • Kubernetes for server-side orchestration

9. Assumptions and Constraints

Assumptions:

  • The system will operate in Sudan's local timezone (CAT/UTC+2).
  • All tenders will have verifiable source links.
  • Users will primarily access outputs in CSV and PDF formats.

Constraints:

  • Restricted portals may require manual registration or VPN access.
  • Arabic search patterns may yield fewer results due to limited portal support.
Page 7 of 7

10. Glossary

  • Tender: A formal offer to supply goods or services.
  • RFP: Request for Proposal.
  • RFQ: Request for Quotation.
  • EPC: Engineering, Procurement, and Construction.
  • CAT: Central Africa Time (UTC+2).
  • Deduplication: The process of removing duplicate records.
  • Normalization: Standardizing data formats for consistency.
  • API Supervisor: An automated controller ensuring error-free reporting cycles.
Dashboard: Monitor Run Status
Dashboard: View Timestamps
Logs: Review Run Logs
Logs: Check Failure Alerts
Settings: Configure Schedule
Reports: Verify Outputs