DevPrep
  • Interview Prep
  • Projects
  • Resources
  • Pricing
  • About Us
Submit Question
DevPrep
  • Pricing
  • About Us
Submit Question
← From Beginner to Expert in Fundamentals of Frontend
  • Project 1: The Performance-First Dashboard
  • Project 2: Accessible Video Player
  • Project 3: Markdown Blog Engine
  • Project 4: Browser-Based Code Editor
  • Project 5: Multi-Tab Whiteboard
  • Project 6: Infinite Scroll Image Gallery
  • Project 7: Recipe Optimizer & Converter
  • Project 8: Budget Tracker with Charts
  • Project 9: Typing Speed Test
  • Project 10: Weather App with Time-Travel
  • Project 11: CSS Grid Layout Builder
  • Project 12: Password Vault (Frontend Only)
  • Project 13: Kanban Board (Trello Clone)
  • Project 14: Quiz App with Leaderboard
  • Project 15: Habit Tracker (GitHub Style)
  • Project 16: E-commerce Product Page
  • Project 17: Unit Converter (Expert Mode)
  • Project 18: Music Visualizer
  • Project 19: Flashcard Learning App
  • Project 20: Custom Form Validator
  • Project 21: Virtual Terminal
  • Project 22: Pomodoro Timer (Focus Pro)
  • Project 23: SVG Path Editor
  • Project 24: Movie Database Matchmaker
  • Project 25: Interactive Resume / Portfolio
  • Project 26: Recipe Scraper UI
  • Project 27: Crypto Tracker (Real-Time)
  • Project 28: Find My Pet (PWA)
  • Project 29: Markdown-to-Slide Tool
  • Project 30: Browser Health Dashboard
← From Beginner to Expert in Fundamentals of Frontend

Project 30: Browser Health Dashboard

35 min read
Feature DetectionBattery APINetwork InformationStorage EstimationScreen MetricsBrowser APIs

📋 Project Brief

Build a browser capabilities dashboard that audits and displays what the current browser supports. This diagnostic tool checks for modern APIs, displays hardware info, and audits storage usage.

✅ Feature Requirements

Feature 1: Capability Detection

Acceptance Criteria:

  • Check support for 20+ APIs: WebGL, WebGPU, WebUSB, WebBluetooth, WebXR, Service Workers, Push API, etc.
  • Each API shows: ✅ Supported / ❌ Not Supported
  • Group by category: Graphics, Communication, Hardware, Storage, Media
  • Use feature detection (not user-agent sniffing)

Feature 2: Battery API

Acceptance Criteria:

  • Display current battery percentage and charging status
  • Show estimated time to full charge or discharge
  • Update in real-time as battery state changes
  • Gracefully handle devices/browsers without Battery API

Feature 3: Network Information

Acceptance Criteria:

  • Display connection type: WiFi, 4G, 3G, Ethernet, Offline
  • Show effective bandwidth estimate and round-trip time
  • Show "Data Saver" mode status if available
  • Update dynamically when connection changes

Feature 4: Screen Metrics

Acceptance Criteria:

  • Display: screen resolution, viewport size, device pixel ratio (DPR)
  • Detect refresh rate (if available via requestAnimationFrame timing)
  • Show color depth and color gamut support
  • Detect touch support and number of touch points

Feature 5: Storage Audit

Acceptance Criteria:

  • Show localStorage usage: bytes used vs. quota
  • Show IndexedDB databases and their sizes (via navigator.storage.estimate())
  • Show cookie count and total cookie size
  • Show Cache Storage usage (Service Worker caches)
  • A "Clear All" button with confirmation for each storage type

📊 API Detection Matrix

CategoryAPIs to Check
GraphicsWebGL, WebGL2, WebGPU, OffscreenCanvas
MediaMediaRecorder, Web Audio, getUserMedia, PiP
HardwareBattery, Bluetooth, USB, Gamepad, Vibration
CommunicationWebSocket, WebRTC, BroadcastChannel, SharedWorker
StoragelocalStorage, IndexedDB, Cache API, File System Access
PlatformService Workers, Push API, Notifications, Wake Lock

🧪 Testing Checklist

  • Unit test feature detection functions (mock navigator properties)
  • Unit test storage size formatting (bytes → KB → MB)
  • Integration test: dashboard renders without errors on Chrome, Firefox, Safari
  • Test graceful degradation for unsupported APIs
  • A11y: all status indicators have text labels (not just icons/colors)

Practice

  • JavaScript
  • DSA
  • Machine Coding
  • System Design

Resources

  • Learning Tracks
  • Articles
  • Roadmaps
  • Compare Concepts
  • Glossary
  • Developer Tools
  • All Questions

Company

  • About
  • Pricing

Legal

  • Privacy Policy
  • Terms of Service
DevPrep

© 2026 DevPrep. All rights reserved.