Inspiration
Energy prices fluctuate throughout the day — yet most homes still run appliances without considering cost or environmental impact. We wanted to create a system that helps households automatically schedule their energy usage to minimize cost without sacrificing comfort. Our goal was to combine machine learning, optimization, and real-world data to make energy efficiency simple, intelligent, and personalized.
What It Does:
- SmartEnergy is a web-based platform that:
- Fetches live electricity prices from ComEd’s 5-minute pricing API
- Lets users define their appliances, power usage, and preferred operation hours
- Uses both Reinforcement Learning (RL) and Linear Programming (LP) to generate optimized schedules
- Balances energy cost reduction with user comfort preferences
- Visualizes the final schedule and estimated savings in a clean, interactive dashboard
- In short, SmartEnergy helps you save money, save power, and stay comfortable — all at once.
How We Built It: We built SmartEnergy with a modular Python architecture: Backend logic: Reinforcement Learning via Stable-Baselines3 (PPO) and Linear Optimization using PuLP Simulation environments: Custom OpenAI Gym environments (EnergyEnv and EnergyEnvWithPreferences) Live data: Real-time ComEd price fetching, with fallback sample data generation Web app: Streamlit frontend for intuitive configuration, visualization, and control Utility modules: Handle appliance data, I/O management, and readable schedule formatting This structure allows SmartEnergy to be easily extended — for example, adding new optimizers, APIs, or IoT integration later.
Challenges We Ran Into:
- Integrating live pricing data: The ComEd API sometimes returns incomplete data, requiring smart fallback handling.
- Balancing cost and comfort: Finding a meaningful reward function that weighs user preferences without over-penalizing cost.
- Training RL models: PPO agents needed fine-tuning and stable reward normalization to converge reliably.
- Usability: Designing an interface that’s technical yet accessible to non-engineering users.
What We Learned:
- How to design and implement custom Gym environments for real-world optimization problems.
- The power of hybrid ML + deterministic optimization approaches (RL + LP).
- Importance of data reliability and fallback logic when dealing with external APIs.
- How small UX touches (e.g., readable schedules, live feedback) massively improve user trust and engagement.

Log in or sign up for Devpost to join the conversation.