Device Management Portal — Interactive Demo

Click each tab to see real screenshots of the portal in action.

Dashboard: The home screen shows quick-access feature cards (Admin Access, GitHub Access, Hostname Update, Cleanup, Reports) and a live activity feed showing recent grants, revokes, and access status. Supports both light and dark modes.
1Fill Form 2Processing 3Completed 4Access Logs
Temporary Admin Access: Enter a VPN IP and all fields auto-populate via SSH (hostname, username, employee ID, email). The 3-step progress tracker streams live as each step completes: granting admin → running JAMF commands → scheduling auto-revoke. Access logs show status with countdown timers.
1Fill Form 2Access Granted
Temporary GitHub Access: Same auto-populate flow as admin. Removes github.com from /etc/hosts, flushes DNS, and installs a persistent LaunchDaemon for auto-revoke. Access logs show granted entries with countdown timers and device type.
1In Progress 2Completed 3Logs Updated
Update Hostname: Enter VPN IP to auto-detect current hostname. Type the new hostname (validated prefix: 02HW0, 01HW0, etc). Updates HostName, ComputerName, and LocalHostName remotely via SSH. Logs show old → new hostname mapping with success status.
Cleanup Utility: Four automated maintenance tasks — fix stuck "Granted" entries whose timers expired, detect incomplete user profiles, remove duplicate log entries, and archive logs older than 90 days. Safe to run anytime; does not affect active sessions.

Additional tabs available: Admin Logs, GitHub Logs, All Logs, Visitors — run node scripts/take-screenshots.js to capture these automatically.

Leadership Reports: Summary metrics (requests, users, active now, avg duration, success rate), admin vs GitHub breakdown with progress bars, monthly trend chart, top requesters, most accessed users, device breakdown, and CSV/Excel export. Sub-tabs for Admin Logs, GitHub Logs, All Logs, and Visitors tracking.
Activity Feed & Alerts: The dashboard shows a live activity feed with recent access grants. When access is about to expire, an "Access Expiring Soon" banner appears in the top-right corner with countdown details, ensuring admins stay informed.
Cleanup Results: After running cleanup, a green toast banner shows the result at the top. The bottom card shows detailed counts: Expired Fixed, Incomplete Users, Duplicates Removed, and Logs Archived. If no issues found, it shows "Database is clean."
Admin Logs Tab: Shows all admin access grants with hostname, username, granted time, duration, requested by, time remaining, and status. Sortable columns, search, and CSV export.
GitHub Logs Tab: Shows all GitHub access grants with the same detail level as admin logs. Filter by status to quickly find failed or active grants.
All Logs Tab: Shows all access grants with hostname, username, granted time, duration, requested by, time remaining, and status. Sortable columns, search, and CSV export.
Visitor Analytics: Shows total visits, today's count, unique visitors, top visitors ranked list, and recent visit timeline. Tracks which users access the portal and when, session-based with 15-minute idle gap detection.
Session Timeout: After 15 minutes of inactivity, the session automatically expires. This ensures no unattended browser sessions remain active with access to the management portal.