Project Normalizer avatar
Project Normalizer
Under maintenance

Pricing

Pay per usage

Go to Apify Store
Project Normalizer

Project Normalizer

Under maintenance

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Zhang Luxin

Zhang Luxin

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Categories

Share

Project Normalizer Actor

Overview

The Project Normalizer is the first actor in the BuildBench AI pipeline. It processes raw construction project cost data from CSV files and normalizes it into a structured format for analysis.

What It Does

  • Parses CSV files containing construction cost breakdowns
  • Validates data to ensure all required fields are present
  • Categorizes costs into standardized segments (Hard Construction, Soft Costs, Site Work)
  • Calculates totals by category and overall project cost
  • Extracts metadata including location, build type, and project specifications

Input

The actor expects a CSV file with the following columns:

  • Line Item - Description of the cost item
  • Cost - Dollar amount (can include $ and commas)
  • Category - Cost category (Hard Construction, Soft Costs, Site Work, Foundation)
  • Notes - Optional additional information

Example CSV:

Line Item,Cost,Category,Notes
Foundation Excavation,$15000,Foundation,Pier and grade beam
Framing - Walls,$45000,Hard Construction,2x6 exterior walls
Architectural Design,$12500,Soft Costs,Plans and elevations

Output

Structured JSON object containing:

{
"projectId": "unique-id",
"metadata": {
"city": "San Francisco",
"region": "CA",
"buildType": "Single Family",
"totalSqft": 2500
},
"costItems": [...],
"totals": {
"total": 450000,
"bySegment": {
"hard_construction": 180000,
"soft_costs": 45000,
"site_work": 25000
}
}
}

Configuration

Set these environment variables:

  • APIFY_TOKEN - Your Apify API token
  • OUTPUT_DATASET - Dataset ID for storing results (optional)

Usage

const input = {
csvUrl: "https://example.com/project.csv",
// or
csvContent: "Line Item,Cost,Category,Notes\n..."
};

Next Step

Output is automatically passed to the Benchmark Aggregator actor for market comparison.

Built With

  • Node.js
  • Apify SDK
  • CSV Parser

Author

BuildBench AI Team - Apify Hackathon 2025