Frame the decision
Start with what a person needs to understand or do—not with a model or visual effect.
The reasoning behind the work
Every visual and interaction has a job: reveal state, locate evidence, explain a boundary, or make the next decision safer.
60-second explanation
“I designed the portfolio as a working AI-systems lab. I began with real user decisions, connected each product to authoritative or clearly labeled data, then designed the interface to expose source, freshness, uncertainty, and the point where a person remains in control. The Jupiter-and-orbit visual language mirrors that architecture: the planet is the stable system core, the moon is the active task, and the orbit is the evaluation loop. Lime marks verified action, lilac marks interpretation or model boundaries, and the dark grid keeps the work precise. I used AI-assisted engineering to accelerate implementation and review, while I directed the product choices, constraints, testing, and final release.”
01 / System logic
Start with what a person needs to understand or do—not with a model or visual effect.
Prefer authoritative public sources, show freshness, and keep provenance beside the result.
Separate reported facts, deterministic calculations, model-like guidance, and the human decision.
Loading, partial evidence, failure, limitations, and next actions are first-class interface states.
Type checks, automated route tests, production builds, responsive browser walkthroughs, and live-source smoke tests close the loop.
02 / Visual grammar
The largest stable body represents the evidence and product infrastructure that everything else depends on.
The moving moon represents a query, case, or document traveling through the workflow without becoming the system itself.
The orbit makes iteration visible: observe, interpret, act, verify, and return with better evidence.
Lime means evidence or a verified action. Lilac marks interpretation, uncertainty, or a model boundary. Amber is reserved for caution.
03 / Voltline geography
EIA-930 reports demand, forecast, generation, and interchange for ERCOT. The interface calls these preliminary hourly submissions—not operational telemetry.
EIA retail-sales data supports residential average price, statewide sales, customer count, and aggregate per-customer context by state.
EIA does not publish electricity usage or a single retail rate by ZIP. Voltline explains what is unavailable instead of fabricating precision from unrelated geography.
The product decision: increase geographic usefulness where the evidence supports it, and make “not available” a trustworthy result where it does not.
04 / Finishing discipline
Analytics is off by default, events use fixed safe labels, consent can be changed, and the privacy notice maps each live-tool data path.
Public feeds have timeouts, validation, caching, fallbacks, partial-evidence states, and direct source links.
Sound never autoplays, reduced-motion preferences are honored, offscreen animation pauses, focus is visible, and core controls remain keyboard operable.
PaperPatch renders and exports inside the tab, preserves Unicode text on export, and states what a visual signature or white cover-up cannot prove.
Strict public-network routing, redirect validation, standard ports, size limits, rate guards, security headers, and a scoped content policy reduce misuse.
Static checks, strict TypeScript, automated API tests, production builds, live browser walkthroughs, responsive inspection, and source smoke tests are all part of release.