Autonomous Self-Healing Web Scraping Orchestrator
Built for Into the Scrape-Verse | WeMakeDevs in collaboration with Bright Data
WEBPULSE features a state-of-the-art Obsidian Navy (#0B0E17) glassmorphic interface designed for high-density telemetry, real-time node monitoring, and seamless dataset exploration.
Key Improvements in the Redesign:
- Unified Obsidian Navy Design System: Switched from generic dark zinc to an ultra-premium
#0B0E17obsidian canvas with#141724glassmorphic cards and#23283Aborders.- 5-Card Glassmorphism Accordion Stack Deck: Interactive header-hover card deck displaying all active scraper nodes with smooth slide animations and zero text overlap.
- Pixel-Perfect Alignment & Compact Layout: 8% optimized space efficiency across all secondary screens with 100% flush card bottom border alignment on the main dashboard.
- Single-Title Header Bar: Streamlined global navigation headers across all 10 section pages.
Built for the Into the Scrape-Verse | WeMakeDevs hackathon in collaboration with Bright Data.
Challenge: Build a self-healing web scraper that can detect website changes, repair its extraction logic, and continue producing structured data.
WebPulse AI addresses this challenge by integrating Bright Data Scraper Studio with backend orchestration, monitoring, self-healing, structured data processing, and an interactive dashboard.
- Structural Drift Monitoring: Integrates with Bright Data Scraper Studio to detect DOM structural updates and locator mutations across target web endpoints.
- Automated Selector Re-Mapping: Captures self-healing diagnostic feedback and selector repairs directly through Bright Data's self-healing workflow.
- Version Mutation Audit Log: Tracks configuration version mutations (
v1βv2) with confidence scores, suggested repair actions, and execution audit trails.
- Bright Data CLI: brightdata/cli β Official Bright Data CLI for scraping, searching, and extracting structured web data directly from the terminal.
- Asynchronous CLI Subprocess Orchestration: The Node.js backend uses the Bright Data CLI to execute Scraper Studio collectors asynchronously, capture execution output, monitor scraper status, and process structured results for the dashboard.
- Resilient Polling & Proxy Health: Tracks execution timeouts, bandwidth quotas, and proxy unblocking status across all active scraper runs.
- Live Health Distribution: Real-time donut chart and velocity analytics powered by Recharts.
- Monitored Node Stack: Interactive glassmorphic accordion deck for instant status checking (
Healthy,Repaired,Failed).
- Data Explorer Studio: Search, filter, and inspect raw extracted JSON records in real time.
- One-Click Export: Download clean payload datasets instantly in CSV, JSON, or NDJSON formats.
The majority of WebPulse AI is fully functional, dynamically connected to our Express backend, local database persistence layer, and live Bright Data scraping workflows. To maximize technical depth within hackathon time constraints, engineering effort was focused on autonomous scraping, telemetry, and self-healing, while non-core account-level UI features were kept static/demo-only.
- π·οΈ Scraping: Live Bright Data CLI subprocess orchestration, collector creation, raw payload capture, and manual run overrides.
- π Monitoring: Real-time collector status tracking, health score indexing, and scheduled sync queue management.
- π€ Self-Healing: Automated DOM structural drift detection, fuzzy layout selector re-mapping, version mutation tracking (
v1βv2), and healing audit logs. - π Data: Live payload inspection, search filtering, and multi-format data export (CSV, JSON, NDJSON).
- π Analytics: Interactive health distribution donut charts, scrape run velocity metrics, and 5-card monitored node stack deck.
- π Backend Integration: Node.js + Express REST API, persistent JSON database with atomic file locking, and automated seeder scripts.
Note: All core features listed above are fully implemented, operational, and query real backend/database state rather than relying on hardcoded UI mockups.
- π Login / Authentication: Static session toggle and login modal placeholder.
- π€ Account / Profile: Demo user header avatar and profile metadata.
- π³ Quota / Usage Overview: Static proxy bandwidth usage meter.
- βοΈ Some Account Settings: Static UI tabs for team organization settings and subscription tier toggles.
Scope Rationale: These non-core features are currently static UI/demo components and their displayed values do not dynamically mutate or integrate with external authentication or billing providers. This was an intentional design choice for the hackathon to dedicate 100% of development bandwidth to Bright Data scraper integration, self-healing resilience, monitoring analytics, data export tools, and backend API engineering.
WebPulse standardizes raw data output into valid, machine-readable JSON schemas. Below is a real sample payload extracted from the Books to Scrape collector:
[
{
"title": "A Light in the Attic",
"price": {
"value": 51.77,
"currency": "GBP",
"symbol": "Β£"
},
"availability": "In stock (22 available)",
"rating": "Three",
"upc": "a897fe39b1053632",
"number_of_reviews": 0,
"image_url": "https://books.toscrape.com/media/cache/fe/72/fe72f0532301ec28892ae79a629a293c.jpg",
"product_page_url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
"input": {
"url": "https://books.toscrape.com/"
}
}
]{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BooksScraperExtractedSchema",
"description": "Auto-generated schema from current extracted payload fields.",
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"price": { "type": "object" },
"availability": { "type": "string" },
"rating": { "type": "string" },
"upc": { "type": "string" },
"product_page_url": { "type": "string" }
},
"required": ["title", "price", "availability", "product_page_url"]
}
}
}
}WebScraper_WeMakeDevsHackathon/
βββ Before after dashboard UI.png # Dashboard UI Evolution Showcase
βββ frontend/ # React 18 + Vite + Tailwind CSS v4 + Recharts
β βββ src/
β β βββ components/ # Reusable UI components (Header, Sidebar, Cards)
β β βββ context/ # Global ScraperContext & State Management
β β βββ pages/ # Dashboard, Scrapers, ScraperDetails, DataExplorer,
β β β # Monitoring, Schedule, Alerts, RepairLogs, Settings, ApiKeys
β β βββ mock/ # System fallback datasets
βββ backend/ # Express + TypeScript Server API
β βββ data/ # Persistent JSON DB (scrapers, runs, baselines, healingEvents)
β βββ src/
β β βββ controllers/ # Scraper & telemetry route handlers
β β βββ services/ # Bright Data CLI & AI Self-Healing logic
β β βββ utils/ # File locking DB utilities
β β βββ tests/ # DB Seeder (seedScrapers.ts)
- Node.js: v18.0.0 or higher
- npm: v9.0.0 or higher
git clone https://github.com/karina-purswani/WebScraper_WeMakeDevsHackathon.git
cd WebScraper_WeMakeDevsHackathonInstall dependencies for both frontend and backend in one command:
npm run install:allPopulate the local persistence layer with active scrapers (Books Scraper, Amazon Tech Deals, Quotes Catalog, Hacker News, GitHub Trending):
npx tsx backend/src/tests/seedScrapers.tsStart both the Express backend API and Vite frontend server concurrently:
# Start backend API (Port 5000)
npm run dev:backend
# Start frontend development server (Port 5173)
npm run dev:frontendOpen http://localhost:5173 in your browser to launch WebPulse AI!
To build the project for production verification:
# Test frontend production build
cd frontend
npm run build
β οΈ Deployment Note: The New Scraper feature uses the Bright Data CLI-based backend. Due to the hackathon's deployment environment/rules, this CLI-based scraping functionality is not available in the online deployed version. The feature works in the local development environment. The deployed version is provided to demonstrate the rest of the platform and its self-healing workflow.
- Hackathon: Into the Scrape-Verse | WeMakeDevs
- Organizer: WeMakeDevs
- Technology Partner: Bright Data
- Built By: Anusha Randive & Karina Purswani
- Scraping Platform: Bright Data Scraper Studio
- CLI: Bright Data CLI integrated through the Node.js backend
WebPulse AI β Autonomous, Resilient, & Beautiful Web Scraping Telemetry.
