Skip to the content.

Watt-Seer - Personalized Energy Coach

This is the blog for Gen AI Intensive Course Capstone 2025Q1 Project which is part of 5-Day Gen AI Intensive Course with Google

👥 Team Members

🔍 The Problem: Understanding Home Energy Use

Most people don’t understand what’s driving their energy bills. Even when they have access to hourly or daily usage, it’s just rows of numbers.

On the other hand, millions of Americans only have paper bills with monthly totals, and no tools to compare or analyze.

Gen AI, especially multimodal models like Gemini, can bridge this gap — turning structured data and unstructured images into meaning.

đź“– Want to learn more?
Please read our Medium blog that deep dives into the problem, the GenAI approach, and its capabilities in solving this challenge — with a special focus on the Watt-Seer use case.

And now a storytelling case study on using Kaggle + Gemini to compare home energy data and extract insights from scanned bills.

🔋 Watt-Seer - Personalized Energy Coach Use Case: How Three Neighbors Used AI to Understand Their Energy Usage

In a quiet cul-de-sac in Portland, three retired neighbors found themselves in a uniquely 21st-century situation: they wanted to understand their electric bills — and only one of them knew how to code. Neighbors Collaborating on Energy

👨‍🔧 The Engineer and the Salesman

Ed, a retired electrical engineer, is the neighborhood’s unofficial handyman. His garage is filled with sensors, solar panels, and spreadsheets. One day in January, he noticed his electricity bill had doubled. His reaction?

“I downloaded my entire year’s hourly usage data from Portland General Electric and wrote a script to find the peak days.”

Jerry, the neighbor across the street, used to be a salesman. He’s old-school — keeps all his electric bills in a manila folder. When he heard Ed talking about kilowatt-hours and usage curves, he just shook his head.

“I’ve got the bill right here,” he said, waving a paper copy. “But what does it all mean?”

🤖 Enter Anita: The AI Neighbor

Anita, the third neighbor, had just left her role running a boutique AI consultancy. She overheard the discussion on one of her dog walks.

“You know,” she smiled, “you two are sitting on a goldmine of data. Want help turning it into something useful?”

Together, they launched a weekend project to build something simple, visual, and smart: Watt-Seer — an AI-powered notebook that turns raw energy data and scanned bills into personalized energy insights.


🛠️ What They Built: Watt-Seer Personalization Coach

The Result:

✅ Monthly summaries from Ed’s data
✅ Extraction of key details (kWh, dates, cost) from Jerry’s scanned bill
âś… AI-generated comparisons and suggestions for energy-saving actions

Check out the Video Watch the video


📉 Ed’s Consumption on a Cold Week

Energy Usage Graph

“You used 237 kWh on January 16 alone,” Anita pointed out. “AI root caused it and it Looks like your heat pump switched to resistance mode during the cold snap.” Here’s what AI figured out.

❄️ How Temperature Explains High Energy Usage

“You used 237 kWh on January 16 alone,” Anita pointed out.
“AI root caused it and it looks like your heat pump switched to resistance mode during the cold snap.”

Here’s what AI figured out:


🧾 Jerry’s Bill, Extracted by AI

Gemini Vision read Jerry’s scanned bill and returned:


đź’¬ Gemini-Powered Recommendations

” Ed’s electric resistance heating likely caused the winter spike. Consider supplemental heating or sealing air leaks.”

Gen AI Capabilities

Anita tells Ed and Jerry that she used a number of Gen AI capabilities such as Document Understanding, Few Shot Prompting, Evaluation, and Image Understanding while building this Kaggle Notebook.


đź§Ş Sample Code from the Watt-Seer Notebook

🔹 Resampling hourly data to monthly

df['start_time'] = pd.to_datetime(df['start_time'], utc=True)
df = df.set_index('start_time')

monthly_data = df.resample('M').agg({
    'consumption': 'sum',
    'provided_cost': 'sum'
}).round(2)

🔹 Formatting for Gemini comparison

compare_prompt = f"""
Here is my neighbor’s extracted monthly energy usage:

{neighbor_usage_summary}

Here is my own energy usage during the same months:

{monthly_text}

Please compare our energy usage and suggest why there might be differences. We both are in Portland, OR and are a two person household. Use a simple ratio of my usage/neighbors. Also mention whether the usage levels are typical for similar homes.
"""

response_compare = client.models.generate_content(
    model='gemini-2.0-flash',
    contents=compare_prompt
)

Markdown(response_compare.text)

🔹 Sending a bill image to Gemini

prompt = [
  f"This is my neighbor’s electric bill. Please extract the monthly energy usage (in kWh) for all the months",
  PIL.Image.open("/kaggle/input/neighborbill/Neighbor-Bill.jpeg")
]

response = client.models.generate_content(
    model='gemini-2.0-flash',
    contents=prompt
)
neighbors_energy = response.text
Markdown(response.text)

🚧 Limitations & What’s Next


🤝 From Personal Curiosity to Community Action

By combining code, AI, and community, Ed, Jerry, and Anita turned a conversation into insight.

If you’ve got a folder of bills — or a zip of usage data — maybe it’s your turn next.


đź§  Acknowlegements

đź”— How you can take Action

đź”— View on Kaggle
đź”— Join the Solvers Collaborative Substack

Upload your own usage data. Or just bring a photo of your bill.
Let the AI do the explaining.
You’ve got energy stories waiting to be told.

Questions/Feedback? Post your questions via Kaggle Comments or open an issue on our GitHubGitHub Issues