A desktop app for analyzing iPhone battery usage and charging patterns.
Built with Python, CustomTkinter, SQLite, and Matplotlib.
-
Game session analysis
- Estimate number of safe games playable based on starting battery.
- Regression modeling of battery drain over time.
- Stopwatch and data entry for logging sessions.
- Database storage with editing support.
-
Charge session analysis
- Predict time to reach 80% charge.
- Import real charge logs (
.txt) or use built-in default models. - Live countdown timer for charging.
- Regression line and plotted visualization.
-
Database editor
- View, update, and delete logged game and charge data.
- All data stored locally in
battery_data.db.
-
Python 3.9+
-
Dependencies:
bash
pip install customtkinter matplotlib numpy
Run the app:
Copy code bash
python battery_app.py
Use the Game Session Analysis panel (left) to log or analyze game battery drain.
Use the Charge Session Analysis panel (right) to analyze charging performance.
Graphs and summaries appear in the lower section.
Data is saved automatically into a local SQLite database (battery_data.db).
battery_app.py – Main application code
battery_data.db – SQLite database (created on first run); It dynamically gets updated when you import more data in.
Enter current battery % and select Analyze Game Session to see safe playable games.
Import a charge log .txt file and select Analyze Charge Session to visualize charge progress.