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 aggregates for every U.S. state and D.C., while explaining why official ZIP-level electricity usage or a single ZIP rate is not available.
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. Neither source provides household or ZIP-level usage, so the product must make scope as visible as the numbers.
Primary user
A reader comparing signals without needing to become an energy-data specialist.
The product supports someone checking Texas hourly movement, comparing a state’s monthly residential price and sales, or asking whether a ZIP can support an official electricity claim—not an operator or a 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.
Expanded geography to every state and D.C. while making the unsupported ZIP-level request a useful, sourced boundary result.
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.
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.
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
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
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
05
Preserve provenance
The view shows the source, reported period, observation count, geographic level, limitations, and direct routes to official EIA documentation.
Hourly and monthly freshness · source links · explicit non-alert and non-household disclaimers
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 validates the five-digit format, then explains that EIA does not publish consumption or average price by ZIP. It offers supported state and service-territory alternatives without implying a household, tariff, or utility match.
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.
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 every state plus D.C., state-versus-U.S. comparisons, aggregate per-customer math, and the ZIP view’s refusal to infer household usage, tariffs, or a unique utility.
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.
The state explorer uses monthly residential sales, customer counts, and average retail price as state aggregates; recent months can be preliminary and revised.
EIA explicitly states that it does not publish electricity consumption or average retail price by ZIP Code, which is why Voltline does not manufacture a ZIP estimate.
Numeric validation, chronological ordering, signal selection, the 36-observation history, and cache headers are implemented locally in the site’s read-only API route.
Internal logicInterpretation
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 and /api/grid-live implementation on this date. Live values, upstream availability, and EIA revisions can change after the review; the product displays its own latest reported and retrieval context when run.