Rahul SarkarFull Stack AI Engineer + Pharmacist

KPPP Live Tenders Dashboard

Full-Stack Developer2026In progress
ReactNode.jsExpressPuppeteerPostgreSQLnode-cronDocker
KPPP Live Tenders Dashboard cover image

Overview

A full-stack civic-tech project that scrapes live tenders from KPPP, persists them in PostgreSQL, and presents contractor-focused dashboards with KPIs, filters, sorting, export, and alerts — turning a fragmented public procurement portal into a filterable, deduplicated tender-intelligence workflow.

Problem

Contractors must repeatedly monitor fragmented public procurement pages across Goods, Works, and Services categories, and can miss real opportunities or deadlines because of it.

Approach

Built a Puppeteer scraping pipeline with CAPTCHA handling (Tesseract OCR / 2Captcha), a cron scheduler refreshing every 30 minutes, and PostgreSQL-level deduplication on source tab and tender number, feeding a React dashboard with KPI cards, advanced filters, sorting, and auto-refresh.

Architecture

Node.js/Express API, a Puppeteer scraper, a node-cron scheduler, a PostgreSQL store, a React dashboard, optional SMTP/Twilio alerts, and a Docker-ready deployment with a Render Blueprint configuration.

Results

Scrape cadence
Every 30 min

Outcomes

  • Functional scrape-to-dashboard pipeline used as a practical civic-tech reference, with community traction (3 GitHub stars)
  • Email (SMTP) and WhatsApp (Twilio) alerts for high-value tenders, plus CSV/Excel export and Recharts analytics

Related projects

In progress2025

QUIKTENDERS

Public tender data collected, normalized, and deduplicated into a searchable, alert-ready discovery workflow.

ReactTypeScriptPythonFastAPI