Hackathon_NullPointers is an intelligent energy management application that optimizes battery storage charging based on weather forecasts, renewable energy production estimates, and energy price predictions. The system helps users maximize the use of renewable energy while minimizing electricity costs.
- Smart Battery Charging Scheduler: Determines optimal charging windows based on multiple factors
- Weather-Based Solar Production Estimation: Forecasts renewable energy availability
- Energy Price Prediction: Analyzes and predicts electricity prices throughout the day
- Customizable Energy Requirements: Accounts for battery capacity, office consumption, and EV charging
- Visual Analytics: Interactive charts and visualizations for energy usage and cost analysis
Hackathon_NullPointers/
├── Model/ # ML models and data preprocessing
│ └── data_preprocessed/ # Scripts for data preparation and analysis
├── NullPointersFront/ # React+TypeScript frontend application
│ └── src/ # Frontend source code
└── NullPointersServer/ # Backend server for processing and API
- Python 3.8+
- Node.js 16+
- npm or yarn
-
Set up Python environment:
cd NullPointersServer python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Prepare the model:
cd ../Model python -m data_preprocessed.generate-avgs
- Install dependencies:
cd ../NullPointersFront npm install
-
Start the backend server:
cd NullPointersServer python app.js -
Start the frontend development server:
cd NullPointersFront npm run dev -
Access the application at
http://localhost:5173
- Data Collection: The system gathers weather forecasts and electricity price data
- Energy Analysis: Calculates expected solar energy production and electricity price fluctuations
- Optimization: Determines the most cost-effective and environmentally friendly charging schedule
- Visualization: Presents results through interactive charts showing optimal charging times
- Frontend: React, TypeScript, Vite, TailwindCSS
- Backend: Python, Node.js
- Data Processing: Python (Pandas, NumPy)
- Visualization: Data visualization libraries
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.

