PROFESSIONAL WORK · Reporting & operations
Calling performance dashboard
Combines two calling systems into one team view and scheduled daily and weekly summaries, showing talk time as a range when exact timing isn’t available.
BuiltProduction · initial rolloutDocumented October 16, 2026
My contribution
Built and deployed the initial dashboard, then refined custom windows, talk-time uncertainty, exports, and audit details.
Tools
Python · FastAPI · HTML/CSS/JavaScript · JustCall APIs
How it works
- InputTwo call sourcesRegular calls and dialer calls come from separate endpoints
- StepDeduplicateBy shared call ID, not by phone number or timestamp
- StepApply the reporting windowCalls that cross the edge get a minimum–maximum range
- CheckCompleteness checkEvery source must return before a new result is used
Source failure → last good result, labeled
- StepTeam & user totalsMatched to the roster by stable user ID
- OutputDashboard, CSV & scheduled emailsSame data in the live view and the daily and weekly summaries
Decisions that mattered
Two endpoints are required
Dialer calls are not included in the regular call list. Cross-source deduplication uses a shared call identifier when present, not similar phone numbers or timestamps.
Talk time isn’t total call length
Verified conversation time is kept apart from calculated minimum/maximum ranges for calls that cross the edge of a window. When connection timing is missing, the dashboard shows a range instead of a guess.
Never publish a partial refresh
If a source fails, the new result is held back. The last good result can still be shown, with a visible fallback label.
Reuse expensive reads
A short per-range cache and shared in-flight request handling reduce duplicate API work. Users are matched by stable ID rather than display name.
Results
The October 16, 2026 record documents a one-day initial build, verification against production data, rollout to leadership, and follow-up changes to how uncertainty and audit details are shown.
Scope & limits
The initial release wasn’t load tested; long date ranges and many concurrent viewers are known performance limits.
Follow-on: scheduled team reports
BuiltProductionDocumented October 19, 2026
Daily and weekly calling summaries delivered by email, built on the same two sources as the dashboard.
Built the report pipeline, date-window rules, roster validation, delivery behavior, and production checks.
Tools
Python · JustCall APIs · HTML email · Scheduled workers
Calendar weeks aren’t fixed durations
The previous week is a local Monday-to-Monday half-open interval. Daylight-saving changes can make it 167 or 169 hours long.
Use a complete roster
Explicit roster handling shows people with zero activity instead of silently dropping anyone with no returned calls.
Daily reports have been live since October 7, 2026, and the first confirmed weekly delivery was on October 19, 2026. The October 13 checkpoint recorded 124 passing tests. A related ATS activity report has passed dry-run validation but isn’t deployed.