Inspiration-

Time-of-use electricity rates can cut bills, but most people don’t know when power is cheap or how to shift usage. We wanted to turn “run the AC and EV when rates are low” into something automatic and easy. PhasePlan is our answer: your devices, your utility’s rates, one place that Optimizes your Utility Usage in way that helps you financially in the long run.

What it does-

PhasePlan links your utility (by zip code) and your devices (AC, EV charger, laundry, etc.) to real time-of-use rates from OpenEI. A daily optimizer suggests the best times to run each appliance that day; a weekly scheduler picks the best day for flexible loads. You can track you monthly bills over time and upload a PDF so we extract the numbers for you and give you insights on your Utility Bills.

How we built it-

We built a FastAPI backend, Auth0 Authentication, PostgreSQL Database Via Prisma, and a Vercel frontend. We pull providers and rate structures from OpenEI, estimated hourly wattage in KiloWatt-hours (kWh) for each appliance using Google GeminiAPI and used it to compute hourly rates per plan. we also ran our own optimization and weekly scheduling algorithm to find the optimal times to run appliances in a way that optimizes Utility Usage in a way that reduces monthly Utility bills.

Challenges we ran into-

Utility rate data is messy and varies by provider and plan, so normalizing it and turning it into reliable hourly rates took work. Mapping many device types (AC, EV, TV, washer) into a single optimizer with different constraints (comfort, departure time, awake-only) was also tricky. We also had to handle missing or inconsistent OpenEI data without disrupting the workflow.

Accomplishments that we're proud of-

We're proud of building a Full Stack Web Application that optimizes Utility usage based on hourly wattage rates, resulting in money saved in Utility bills. We're proud of integrating OpenEI, Auth0, and Google GeminiAPI in our workflows. We’re also proud of the optimization algorithm and the “upload your bill PDF” feature.

What we learned-

We learned how time-of-use and rate structures really work in the wild and how much they differ by utility and plan. We got better at designing optimization constraints (comfort, schedules, device types) and at handling external APIs and incomplete data. We also saw how much small UX details (e.g. bill upload vs manual entry) matter for adoption.

What's next for PhasePlan-

We want to add real smart-home integrations (e.g. smart plugs, thermostats) so PhasePlan can suggest or automate run times instead of only advising. We’d like more utilities and rate plans, better historical analytics (“you saved $X this month”), and mobile-friendly workflows too.

Built With

Share this project:

Updates