KPI Dashboard & Reporting Automation
Built a comprehensive performance dashboard from scratch that replaced fragmented spreadsheet reporting with real-time KPI tracking, automated workflows, and AI-driven insights -- saving approximately 15 hours per week.
~15hrs
Hours Saved Weekly
Compared to prior manual spreadsheet reporting workflow
Measured by baseline: 15+ hours/week manual reconciliation and reporting | method: Before/after time tracking across weekly reporting tasks
Same-Day
Decision Cycle
Reduced from weekly lag to immediate action
Measured by baseline: Weekly management review cycle | method: Observed decision-to-action timing before and after dashboard rollout
Real-Time
Team Visibility
Cross-device sync via Firebase Realtime Database
Measured by baseline: Fragmented spreadsheet snapshots | method: Live synchronization checks across concurrent user sessions
10+
Modules Built
Analytics, coaching, gamification, and operations
Measured by baseline: No unified operations platform | method: Feature inventory count of shipped modules in production app
TL;DR
- Built and shipped a production KPI platform while leading operations day-to-day.
- Reduced manual reporting overhead by roughly 15 hours/week through automation.
- Moved decisions from weekly lag to same-day coaching and action loops.
Impact Math
~15 hrs/week
Manual reporting removed
Before/after audit of recurring reporting tasks.
~780 hrs/year
Annualized labor capacity recovered
15 hours x 52 weeks.
Artifacts & Verification
- Demo trust wrapper (sanitized)
Public mode with write protections.
- System detail page
Storyboard and module-level evidence.
- Proof Spine reference
Cross-page verification trail.
Front End Performance Dashboard
Key metric: ~15 hrs/week automated
Situation
Reporting across the team was manual, fragmented, and slow. Managers spent hours each week pulling numbers from multiple sources, copying data between spreadsheets, and preparing reports that were stale as soon as they were shared. By the time leadership acted on insights, the window for intervention had often closed.
Baseline & Measurement
- Before: Weekly reporting consumed approximately 15+ hours of manual effort across reconciliation, copy-paste workflows, and stale data compilation
- Measurement method: Tracked time spent on reporting tasks before and after system deployment; compared weekly reporting cadence to daily real-time availability
- Baseline decision latency: Weekly — managers reviewed performance data once per week during scheduled reviews
- After: Same-day decision capability; reporting overhead reduced to near-zero through automation
Constraints & Non-Negotiables
- Must work on both desktop and mobile floor devices without app installation
- Must support real-time multi-user sync across devices simultaneously
- Must be maintainable by a single person (no dedicated engineering team)
- Cannot require enterprise licenses or corporate IT approval — built within existing Google Workspace
- Data must be accurate and current enough for same-day coaching decisions
- Must support 40+ users without performance degradation
System Built
I built a full-featured performance dashboard that consolidated team performance into one real-time application.
- Team leaderboard with weighted scoring and date filtering
- Individual KPI scorecards with historical trend views
- Insights workspace with narrative analytics sections
- Data entry grid with real-time synchronization
- AI assistant for coaching prompts and what-if exploration
- Gamification module for challenges, streaks, and rankings
- Attendance and coverage tracker for compliance visibility
Technical Design
- Google Apps Script-hosted SPA architecture
- Firebase Realtime Database for persistent multi-user sync
- Utility modules for metrics, chart lifecycle, cleanup, and registry control
- Debounced targeted DOM updates to avoid full rerender costs
- Offline-aware behavior with local caching and sync queues
- Responsive UI tuned for desktop and floor-mobile usage
Key Decisions & Tradeoffs
- Why Apps Script over a heavier framework: Speed to ship, zero infrastructure cost, native Google Workspace integration, and maintainability without a dev team. The tradeoff was giving up modern build tooling for deployment simplicity.
- Why Firebase Realtime Database: Needed cross-device real-time sync without managing a backend. Firebase provided this with minimal latency and a generous free tier.
- Why vanilla JS instead of React/Vue: The system needed to load fast on slow floor devices. Vanilla JS with targeted DOM updates kept bundle size small and avoided framework overhead.
- Offline-first compromise: Implemented local caching with queued sync rather than full offline mode. This handled intermittent connectivity on the floor without the complexity of a service worker.
Operational Change
The team moved from retrospective reporting cycles to near real-time intervention. Weekly spreadsheet reconciliation gave way to shared daily scorecards and immediate coaching loops. Managers could identify underperformance the same day it occurred rather than discovering it during weekly reviews.
Results
- Approximately 15 hours per week removed from manual reporting overhead
- Faster management decisions due to same-day KPI signal
- Shared source of truth for managers and associates
- Higher coaching consistency through structured scorecards
- 10+ functional modules delivered in one cohesive system
Artifacts
- Live production app: Open Front End Performance Dashboard demo (public demo uses sanitized mock data)
- Product detail page: Front End Performance Dashboard
- Evidence links: Homepage Proof Spine
Role Scope
I designed, built, shipped, and maintained the entire system while operating in a full-time leadership role. Team outcomes were collective, while architecture and product execution were owned by me.
What I'd Improve Next
- Role-based views: Different dashboard configurations for managers vs. associates vs. leadership
- Predictive alerts: Use trailing performance data to surface “at-risk” associates before metrics drop below threshold
- Governance automation: Automated data quality checks and alert routing for stale or anomalous entries
- Migration path: Move from Apps Script hosting to a standalone deployment for better performance and caching control
My Role vs. Team
I designed, built, shipped, and maintained the entire system while operating in a full-time leadership role. Architecture, UX, and product decisions were mine. Team-level KPI outcomes were collective achievements enabled by the system I built.