Full-Stack Applications
Automated Business Intelligence Dashboard
An automated data pipeline and live executive dashboard that eliminated manual project-status reporting by pulling data directly from a project-management/ERP system on a schedule.
100%
Manual reporting eliminated
Self-rotating, zero manual renewal
Credential upkeep
Eliminated (pre-render flag)
Theme-flash on load
The Problem
Project-status reporting for a professional-services team was being compiled manually from an external project-management system — slow to produce and quickly stale. The goal was a live, self-updating, filterable dashboard instead of a periodic manual export.
My Approach
- Built a scheduled data-refresh job that authenticates to the external project-management API (OAuth 2.0 with automatic refresh-token rotation) and writes normalized report data to cloud storage on a daily cadence.
- Designed the refresh job to be self-maintaining: it rotates its own OAuth refresh token as part of every successful run, so the integration doesn't require manual credential upkeep or expire unexpectedly.
- Built a web dashboard (deployed as a scheduled Cloud Run service) that reads the refreshed data and presents it with rich, stakeholder-driven filtering: status/stage grouping, project-age and expiration windows, percent-remaining/progress filters, and a cross-dataset "related items" search.
- Iterated the UI directly against real stakeholder feedback across multiple rounds — adding and later removing filters/columns when a stakeholder group confirmed a field wasn't relevant to their view, rather than letting UI cruft accumulate.
- Added a polished, accessible light/dark mode implementation, including a pre-render flag to avoid a "flash of wrong theme" for returning users.
- Secured the dashboard behind Identity-Aware Proxy so only authenticated organizational accounts can reach it — both the default platform URL and a custom-branded, DNS-verified subdomain.
Stack
Cloud
Google Cloud Run (web service + scheduled job)Cloud SchedulerCloud StorageSecret ManagerIdentity-Aware Proxy (IAP)
Backend
Node.jsNginx (sidecar)
Frontend
Tailwind CSS (custom dark-mode variants)Vanilla/lightweight JS
Integration
OAuth 2.0 (authorization-code flow with refresh-token rotation)
Identity/DNS
IAP-gated accessCustom subdomain with DNS-based domain verification
Practices
Self-rotating credential designStakeholder-driven iterative UI developmentScheduled ETL pipelines
Skills Demonstrated
- ▸API integration engineering, including secure, self-maintaining OAuth token lifecycle management
- ▸Building internal tools that are iterated based on real user feedback, not built once and left alone
- ▸Cloud-native scheduled data pipeline design
- ▸Practical identity-based access control for internal-only web tools