How the widget works
The widget reads the same userMetrics snapshots that power the Dashboard. Every time Firestore acknowledges fresh totals, we write a snapshot to an App Group container so the widget can refresh without opening the app.
- Supported devices: iPhone and iPad running iOS 17.6+ with widget support enabled.
- Refresh cadence: background tasks sync after sessions finish, on streak changes, and when you interact with the widget.
- Privacy: only aggregate minutes and streak info are shared - no course names or notes ever leave the container.
Tier breakdown
Tier 1 - Initiate
0–5 hours logged. Encourages you to establish a baseline and keeps the progress ring gentle while you build a routine.
Tier 2 - Explorer
5–20 hours. Unlocks a blue accent, streak badge, and prompts to tag topics so the spaced repetition engine gets smarter.
Tier 3 - Strategist
20–60 hours. Adds secondary progress bars comparing targeted vs. completed hours and highlights unassigned minutes.
Tier 4 - Mastery
60+ hours. Features golden highlights, percent to goal, and upcoming spaced repetition recommendations.
Widget sizes & controls
- Small: streak badge, total minutes ring, and tier emoji.
- Medium: adds weekly hours bar, next recommended course, and unassigned-minute alert.
- Large: everything in medium plus a mini calendar heat strip and quick-start button that opens the timer.
Tips for accurate data
- Keep Background App Refresh enabled for EstudyLog.
- Finish timers inside the app to trigger immediate widget sync.
- Assign topics whenever possible; unassigned minutes trigger a banner so the model can keep spacing accurate.
Want to suggest tweaks or new tiers? Email widgets@estudylog.com with your idea and device details.