HarnessTube Broadcast System Architecture

System Purpose

HarnessTube uses an automated pipeline to import harness racing race cards and generate broadcast graphics for live streams.

Data Pipeline

USTA Race Card ↓ CTRL + U HTML copy ↓ USTA Import Tool ↓ Race data parsed ↓ Google Sheets database ↓ Published CSV ↓ import_sheet.php parser ↓ Overlay Dashboard ↓ JSON files written ↓ Overlay graphics update

Core Components

Google Sheets Structure

Each track is stored in its own sheet tab. Race blocks contain metadata, horses, and analyst selections.

Operational Workflow

Phase D – Results & Statistics System

Phase D expands the system from live broadcast graphics into a full results and statistics platform.

Race Results (Dashboard Publish) ↓ JSON files written to /data/results/ ↓ System scans all result files ↓ Aggregate statistics generated ↓ Results pages + standings + records

Data Source

All race results are stored as individual JSON files:

/data/results/{location}_{date}_race_{race}.json

These files contain race outcomes, drivers, trainers, and finish positions.

Key Principle

JSON result files are the single source of truth. Google Sheets is not used for statistics processing.

Planned Features

Data Processing Approach

Future Automation Goals

Constraints