Phone-first Streamlit tracker for weekend kill leaderboard progress in a mobile game alliance.
This version is CSV-first. Screenshot extraction is intentionally not included yet.
- Weekend setup with selectable timezone.
- Approved snapshot workflow for Alliance and Player CSV input.
- SQLite persistence at
data/tracker.db. - Validation warnings and save-blocking errors before data is stored.
- Progress calculations from the earliest weekend timestamp to the latest weekend timestamp.
- Alliance and player dashboards with NEWH rank, gains, new players, dropped players, and anomalies.
- Excel export with formatted sheets for raw kills, progress, dashboard, new/dropped players, and anomalies.
- Copy-ready text reports for alliance progress, player progress, and recruitment.
Alliance CSV:
Rank,Alliance Tag,Alliance Name,Kills,Timestamp
1,NEWH,New Home,1234567,2026-06-13 09:00:00Player CSV:
Rank,Commander,Kills,Timestamp
1,CommanderName,123456,2026-06-13 09:00:00Timestamps must use YYYY-MM-DD HH:MM:SS.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtstreamlit run app.pyOpen the local Streamlit URL on your phone or desktop browser. The layout uses a simple vertical flow with full-width buttons.
pytestnewh-kill-tracker/
app.py
requirements.txt
README.md
src/
database.py
validators.py
calculations.py
excel_export.py
reports.py
tests/
test_validators.py
test_calculations.py
exports/
data/