← All projects

03 / ENERGY / DATA ENGINEERING

Energy Customer Insights

Explain electricity-usage changes through governed data, weather context, automated onboarding, and AI-assisted insight.

Amazon S3AWS LambdaDatabricks Auto LoaderUnity CatalogMLflowNext.js / ReactAI explanation

Working prototype · automated building onboarding validated

View public GitHub repository →

Overview

Explain the change, not just the number.

Energy Customer Insights transforms modeled residential energy data into account-level analytics, month-over-month investigation, weather-aware context, and plain-language explanation. The analytics pipeline computes the facts; the LLM's job is to describe those already-computed results without inventing a cause.

The problem

A higher usage number does not explain whether the main driver was cooling, heating, seasonality, or a change in daily consumption. The application brings account context, trends, end-use composition, and aligned weather together before generating an explanation.

My contribution

Built the AWS S3 ingestion pattern, scheduled Lambda transfer, Databricks Auto Loader and Bronze/Silver/Gold layers, automated building onboarding, weather enrichment, dynamic account creation, MLflow serving, frontend discovery, and evidence-constrained AI explanation workflow.

Architecture

Automated from source file to frontend account.

The latest validation added a fourth building and confirmed that it flowed through S3 transfer, lakehouse processing, weather enrichment, Gold, snapshot refresh, live serving, and frontend discovery without manual application changes.

Application walkthrough

Account discovery → trends → investigation → explanation.

The account list is dynamic; the production frontend does not hardcode how many demo accounts exist.

Energy Customer Insights dynamic account dropdown

1. Dynamic account selection

New processed buildings can appear as new demo accounts in the selector without a frontend code change.

Energy Customer Insights dashboard

2. Account overview and trends

Annual usage, daily usage, peak demand, building context, monthly/daily charts, and end-use composition are presented together.

Energy Customer Insights investigation and AI explanation

3. Investigation and AI explanation

Month-over-month usage, end-use contribution, degree days, and temperature context are computed first; the explanation summarizes that evidence.

Key capabilities

  • Automated source transfer: Lambda uses a copy-verify-then-delete pattern between S3 incoming, landing, archive, and audit paths.
  • Automated building onboarding: Silver metadata matching, weather mapping, Gold account summary, snapshot refresh, and frontend discovery are data-driven.
  • Evidence-first AI: monthly comparison, end-use deltas, and degree-day metrics are computed before the LLM is called.
  • Resilient explanation: if the LLM path fails, the application can fall back to a deterministic non-AI summary and label it accordingly.

Representative investigation: DEMO-102517, May 2018

Usage increased from 258.51 kWh in April to 584.69 kWh in May. The net increase was 326.18 kWh, average daily usage rose 118.88%, and 98.93% of the net increase was associated with cooling in the demonstration data.

4 accountsGold, snapshot, live endpoint, and frontend account count after the validated fourth-building run
No manual UI changeThe new building appeared automatically in the frontend account selector
98.93%Cooling share of the representative May net usage increase

Modeled ResStock demonstration data; not a production utility billing or customer-service system.

Back to all projects