A modern, privacy-first web application designed to help Israeli consumers analyze their electricity consumption and choose the most cost-effective provider.
- Smart Meter Eligibility Checker: Search by city, street, and house number to verify if a smart meter is installed or planned for installation in 2026.
- CSV Consumption Analysis: Upload your official usage data from the Israel Electric Corporation (IEC) for precise calculations.
- Automated Plan Comparison: Compares your actual usage against various market offers:
- Fixed Discount Plans: (e.g., 5-7% off 24/7).
- Time-of-Use Plans: (e.g., cheaper rates at night or during the day).
- Tiered Plans: Plans that adjust based on consumption volume.
- Interactive Visualizations:
- Consumption Profile (Radar Chart): See your average usage patterns throughout the day.
- Daily Consumption (Bar Chart): Track your usage trends over time.
- Privacy-First: All data analysis is performed locally in your browser. Your consumption files and addresses are never uploaded to any server.
- Modern UI/UX: Built with Tailwind CSS, featuring a responsive design and full Dark Mode support.
- Frontend: HTML5, Vanilla JavaScript, Tailwind CSS (via CDN).
- Data Parsing: PapaParse for efficient client-side CSV processing.
- Charts: Chart.js for data visualization.
- Backend (Build-time): Python for database sharding and processing.
index.html: The main application entry point and logic.plans.json: Configuration file containing all electricity provider plans and rates.build_database.py: Python script to generate the address database shards.data/: Contains sharded JSON files for cities and smart meter addresses.iec_sources/: Directory for raw data sources (ignored by git).
The application uses a sharded database to keep the frontend lightweight. To update the smart meter address database:
- Python 3.x
It is recommended to use a virtual environment:
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the update script
python3 build_database.pyWhen providers change their rates or introduce new plans:
- Open
plans.json. - Add or modify the plan objects.
- The frontend will automatically reflect these changes upon the next reload.
This project is optimized for static hosting (e.g., GitHub Pages). To deploy:
- Ensure all changes are committed.
- Push to the relevant branch/remote:
- Beta:
git push beta main - Production:
git push prod main
- Beta:
Ensure that no raw consumption files or PII (Personally Identifiable Information) are added to the repository. The data/ directory should only contain public-domain address information regarding smart meter availability.
Created and maintained by mat-mo.