Skip to case study
PK® / Case study

Independent product case study / Public-data intelligence

Voltline

Make electricity data useful at the geography it can actually support.

Voltline combines the latest available EIA-930 submissions for Texas with monthly residential benchmarks for every U.S. state and D.C. A ZIP view maps 2020 Census ZCTAs to counties, uses 2024 ACS occupied-housing estimates for an explicitly modeled area-use range, and joins 2024 final EIA-861 utility context without claiming measured ZIP usage, a confirmed provider, or a current rate.

Primary sources
U.S. EIA · Census ZCTA · ACS
Coverage
Texas hourly · 50 states + D.C. · ZIP-linked context
Signals
Grid · state benchmark · modeled use · utility averages
System boundary
Public proxies, not telemetry, tariffs, or offers

01 / Brief

A decision, not a dashboard.

Problem

Electricity data changes meaning with geography and reporting cadence.

EIA-930 exposes useful hourly balancing-authority submissions, while retail-sales data supports monthly state aggregates and EIA-861 supports annual utility context. None provides measured ZIP-level use or a single local rate, so any ZIP result must preserve the geography, vintage, calculation, and uncertainty behind it.

Primary user

A reader comparing signals without needing to become an energy-data specialist.

The product supports someone checking Texas hourly movement, inspecting a state benchmark, or comparing one or two ZIP-linked contexts with visible assumptions—not an operator, address-level utility locator, tariff engine, or household-bill estimator.

Ownership

End-to-end product work

  • Framed the user decision and the system’s non-operational boundary.
  • Designed the information hierarchy, workflow trace, loading, retry, and source states.
  • Implemented the EIA retrieval route, validation, normalization, timestamp selection, and caching policy.
  • Built a versioned reference layer from 2020 Census ZCTA-to-county relationships, 2024 ACS occupied housing, and 2024 final EIA-861 service-territory and utility aggregates.
  • Designed the optional two-ZIP comparison around an aligned monthly state benchmark while keeping county utility matches and area-use calculations explicitly provisional.
  • Defined transparent context rules and documented evaluation and failure surfaces.

02 / Architecture

Evidence moves through a visible system.

Each stage has a bounded responsibility. The interface preserves source context and leaves the final judgment with the person using it.

  1. 01

    Request the bounded feed

    The server asks EIA for a four-day ERCO window containing demand, day-ahead forecast, net generation, and total interchange.

    EIA API v2 primary · bounded four-day window · legacy fallback · 15-second timeout
  2. 02

    Validate and normalize

    Rows are checked for a usable data array and finite numeric values, then sorted using their reported timestamps.

    Invalid or absent demand ends the request with a visible error
  3. 03

    Align the evidence

    Demand sets the current reporting hour. Forecast is matched to that exact timestamp; generation and interchange use their latest numeric observations and keep their own timestamps visible.

    Latest demand + matching forecast + latest available adjacent signals
  4. 04

    Explain with deterministic rules

    The interface checks, in order, proximity to the displayed-window peak, forecast variance, and hour-over-hour movement before returning a neutral recent-range state.

    95% of recent peak · 4% forecast variance · 5% hourly movement
  5. 05

    Map ZIP-linked geography

    The server treats the entered code as a 2020 Census ZIP Code Tabulation Area, retains every county overlap, and uses the largest land share as the primary county for a bounded service-territory lookup.

    ZCTA proxy · county overlap shares · no USPS delivery or address-level claim
  6. 06

    Estimate and compare transparently

    2024 ACS occupied housing scales state residential use into a modeled ZIP-area range, while final 2024 EIA-861 records surface potential county-level utilities and their annual averages. A second ZIP adds a side-by-side comparison against an aligned state benchmark.

    ACS estimate + margin of error · latest state month · annual utility context
  7. 07

    Preserve provenance

    Every view keeps the source, vintage, reported period, geographic basis, limitations, and direct verification paths beside the result.

    Hourly, monthly, annual, and five-year-estimate vintages · explicit non-tariff boundaries

03 / Product decisions

The constraints shape the experience.

Tradeoffs made visible

Explainability over prediction

The context labels are fixed thresholds over retrieved values. They are easy to inspect and challenge, but they do not forecast conditions or infer grid reliability.

Aligned where possible, timestamped where not

Forecast is compared only when it shares the latest demand timestamp. Generation and interchange may lag, so their own latest timestamps remain visible instead of implying alignment.

Fresh enough for context, cached by design

The route allows a ten-minute shared cache with stale-while-revalidate support. That lowers repeated upstream load while reinforcing that this is an hourly public view, not operational telemetry.

A boundary is better than a fabricated estimate

The ZIP view offers a useful estimate without relabeling it as observation: ACS occupied housing and a state per-customer benchmark produce an area-use range, while county EIA-861 matches produce potential utilities. Neither establishes a household’s usage, a confirmed utility, a tariff, a live supplier offer, or a ZIP-level rate.

Failure is a designed state

The primary hourly source times out or rejects the request

The route attempts the bounded EIA API v2 feed first, then a legacy EIA dashboard fallback. If neither is usable, it returns a no-store error; the interface clears stale results, announces the failure, offers retry, and links to EIA.

The payload shape or demand series is unusable

Voltline stops rather than filling the dashboard with inferred values. Forecast, generation, and interchange can remain explicitly unreported without invalidating a valid demand observation.

A second request overlaps the first

The client prevents concurrent loads and ignores responses from superseded requests, keeping late network responses from replacing newer interface state.

A ZIP cannot be mapped or its state benchmark is unavailable

Voltline distinguishes a valid-looking code that lacks a represented 2020 ZCTA from a malformed input. When a required state benchmark is unavailable, it returns a clear unavailable state and never fills a missing benchmark, utility average, or ACS estimate with an invented value.

04 / Evaluation

What the system should be tested against.

This is the evaluation surface documented by the implementation—not a claim that every target has already been met.

01

Source freshness

Check that the latest reported hour and every adjacent-signal timestamp remain visible, and that caching never masquerades as real-time telemetry.

02

Schema resilience

Exercise malformed arrays, nonnumeric values, missing demand, and individually missing forecast, generation, or interchange observations.

03

Timestamp integrity

Verify sorting, exact forecast alignment, independent latest timestamps, recent-history ordering, and boundary behavior across reporting dates.

04

Explanation fidelity

Test every threshold and its priority order, then confirm the copy never upgrades a pattern into an alert, forecast, or reliability claim.

05

Geographic integrity

Verify leading-zero and multi-county ZCTAs, land-share ordering, 2024 ACS estimate and margin-of-error math, EIA-861 joins, bundled-versus-delivery labels, and refusal to infer household usage, a unique utility, tariffs, or offers.

06

Comparison integrity

Verify that two ZIPs compare the same residential sector and aligned EIA month, that same-state results do not invent a ZIP winner, and that utility averages remain annual supporting context rather than current quotes.

05 / Provenance

Every conclusion keeps its source boundary.

Live data

U.S. EIA Hourly Electric Grid Monitor

The route retrieves EIA-930 region data for ERCO and exposes the official balancing-authority dashboard as the primary verification path.

Source ↗
State data

U.S. EIA Electricity Sales to Ultimate Customers

The state explorer uses monthly residential sales, customer counts, and average retail price as state aggregates; recent months can be preliminary and revised.

Source ↗
ZIP geography

2020 Census ZCTA relationships

Voltline uses Census statistical ZIP representations and county overlap, not an address lookup or a claim that every USPS ZIP is represented.

Source ↗
Housing estimate

2024 ACS 5-year Table B25003

Occupied housing units and their margin of error support the modeled ZIP-area usage range; ACS housing counts are estimates, not electricity-meter observations.

Source ↗
Utility context

2024 final Form EIA-861

County service-territory records identify potential utilities, while annual residential revenue, sales, and customer totals support bundled, delivery-only, or energy-only averages with their reported or imputed status preserved.

Source ↗
Geography boundary

EIA ZIP-level data FAQ

EIA explicitly states that it does not publish electricity consumption or average retail price by ZIP Code. Voltline therefore labels its area-use output as a model and its utility matches as county-level candidates.

Source ↗
Transformation

Voltline server route

Numeric validation, chronological ordering, signal selection, ZCTA lookup, ACS range calculation, utility-component separation, optional comparison, and cache headers are implemented locally in the site’s read-only API route.

Internal logic
Interpretation

Visible client-side signal rules

Near-peak, forecast-variance, and hourly-movement labels are deterministic presentation logic—not EIA conclusions and not a model-generated forecast.

Internal logic

Implementation note

Last verified from source

This case study was checked against the current Voltline client, versioned ZIP reference layer, and /api/grid-live implementation on this date. Live values, upstream availability, ACS estimates, and EIA revisions can change after the review; every result displays its own period and evidence boundary when run.

See the system under real conditions

Try Voltline.

Open live demo