About KES Aggregator

A personal system for monitoring international development and evaluation tenders

Purpose

This application aggregates tender opportunities from multiple sources, making it easier to discover and track relevant opportunities in international development and evaluation sectors.

Features

  • Automated scraping from multiple sources
  • Centralized tender listing with advanced filtering
  • Dynamic source configuration (no code changes required)
  • Automatic deduplication
  • Deadline tracking and status management
  • Sector and country-based filtering
  • Preservation of original data in JSONB format

Technology Stack

Frontend

  • • SvelteKit
  • • Tailwind CSS
  • • Supabase Client

Backend

  • • Supabase (PostgreSQL)
  • • Node.js
  • • Zod Validation

Scrapers

  • • Playwright
  • • Cheerio
  • • Modular Architecture

Automation

  • • PM2
  • • Cron Jobs
  • • Queue Management

How to Use

1. Add Sources

Navigate to the Sources page and add websites you want to scrape. Configure CSS selectors for the generic scraper or create custom scrapers for complex sites.

2. Run Scrapers

Scrapers can be run manually via the scraping button, command line, or scheduled automatically using PM2 or cron. They read active sources from the database and fetch new offers.

3. Browse Offers

View all scraped offers on the main page. Use filters to narrow down by country, sector, deadline, or search terms. Click through to view original tender pages.

Data & Privacy

This is a personal tool. All data is stored in your own Supabase instance. No data is shared with third parties. The scraper respects robots.txt and implements reasonable rate limiting.

Documentation

For setup instructions, scraper development guide, and API documentation, see the README files in the project repository.

KES Consulting Aggregator • built by landozone