Skip to main content
Challenge

Data Center Public Hearing Sentiment & Ordinance Scraping Agent

Backlash against data centers has driven a surge in local ordinance changes across multiple states. Build an automated sentiment analysis and ordinance tracker using Scrapy and VADER Sentiment to monitor municipal legislative portals and flag new moratorium filings. Maintain an alert lag under 15 minutes post-publication.

Business OperationsHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Develop a legislative monitoring agent using Scrapy and VADER sentiment analysis to track data center regulatory filings.

Delivery guide

How work is evaluated

Evaluation

Evaluates accuracy of moratorium keyword detection and negative sentiment score alignment.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
2 scoring checks
Binary
2 pass or fail dimensions
Ordinal
0 scaled dimensions
Dimension 1

Moratorium Classification Test

Must correctly flag emergency moratorium text

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Dimension 2

Sentiment Score Precision

Correlation with human sentiment scoring on public statements • target: 0.88 • range: 0.75-1

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Build resilient Scrapy spiders to extract text from local government portals

  • Apply VADER sentiment analysis to gauge community board pushback intensity

  • Identify key legal triggers such as 'moratorium', 'noise restriction', and 'substation pause'

  • Trigger automated alerts when negative community sentiment spikes above thresholds

Resources and assets

Reference links and supporting material

Dataset notes

Scraped HTML text extracts and PDF meeting minutes from county planning commissions.

Challenge setup

Evaluates accuracy of moratorium keyword detection and negative sentiment score alignment.

Challenge input

JSON with portal_text, municipality

Scrapy

Provides fast asynchronous web crawling capabilities

Evaluated output

JSON with is_moratorium_proposed, sentiment_compound_score

Evaluation checks
  • Must correctly flag emergency moratorium text
  • Correlation with human sentiment scoring on public statements • target: 0.88 • range: 0.75-1
Configured evaluation evidence
  • Benchmark: ScrapeSentimentBench
  • Sentiment Score Precision target: 0.88
  • 1 public reference case
Configured runtime
  • Python execution harness
  • Python sandbox (unavailable on Versalist)

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Larridin · Required
  • Sarvam AI · Optional
  • InterpretML · Optional

Evaluation contract

  • Moratorium Classification Test · Weight 1
  • Sentiment Score Precision · Weight 1

Metrics

  • Sentiment Score Precision · Target 0.88

Benchmarks

  • ScrapeSentimentBench
  • general

Reference cases

  • 1 public reference case

Workflow tasks

  1. Task 1

    Input: JSON with portal_text, municipality

    Output: JSON with is_moratorium_proposed, sentiment_compound_score

    Execution harness: Python

Evaluation tools

  • Scrapy · Web Scraping Framework

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Data Center Public Hearing Sentiment & Ordinance Scraping Agent