A comprehensive, real-time device information and performance monitoring application built with modern web technologies. Get detailed insights about your device, monitor system performance, and export data securely.
๐ Live Demo: https://your-info.sahinur.dev/
- Live System Metrics: CPU usage, memory consumption, frame rate tracking
- Interactive Charts: Real-time visualization of performance data
- Network Analytics: Connection speed, latency monitoring
- Storage Insights: Disk usage and quota information
- GPU Information: Graphics card details and WebGL capabilities
- Hardware Details: CPU cores, device memory, touch capabilities
- Display Specifications: Screen resolution, color depth, pixel ratio
- Browser Intelligence: Engine details, feature support, compatibility
- Network Information: Connection type, speed, data saving mode
- Advanced APIs: WebGL, WebAssembly, Sensor APIs, Service Workers
- 60+ Data Points: Extensive device and browser information
- Dark/Light Theme: Seamless theme switching with system preference detection
- Responsive Design: Optimized for all screen sizes and devices
- Collapsible Sections: Organized content with smooth animations
- Real-time Search: Instant filtering across all device information
- Professional UI: Glass morphism effects, hover animations, modern typography
- Security Dashboard: Real-time security assessment and scoring
- Privacy Controls: Data anonymization and encryption utilities
- Local Processing: All data processing happens in your browser
- No External Transmission: Your data never leaves your device
- Security Recommendations: Personalized security improvement suggestions
- Multiple Formats: JSON, PDF, CSV, TXT export capabilities
- Professional Reports: Formatted PDF with charts and tables
- Structured Data: Clean CSV for spreadsheet analysis
- Comprehensive JSON: Full data export with metadata
- Keyboard Navigation: Full keyboard support for all interactions
- Screen Reader: ARIA labels and semantic HTML structure
- Font Size Control: Adjustable text sizes for better readability
- High Contrast: Dark mode support for visual accessibility
- Focus Management: Clear focus indicators and logical tab order
- Offline Functionality: Works without internet connection
- Installable: Add to home screen on any device
- Service Worker: Advanced caching and background sync
- Auto Updates: Seamless app updates with notifications
- Network Awareness: Smart performance based on connection quality
- Cross-Platform: Native app experience on desktop and mobile
- ๐ด Real-time monitoring with live performance charts
- ๐ Dark/Light mode with smooth transitions
- ๐ฑ PWA Ready - Install as native app, works offline
- ๐ Instant search across all device data
- ๐ Security scoring and privacy analysis
- ๐พ Multi-format exports (JSON, PDF, CSV, TXT)
- โก Service Worker - Advanced caching and auto-updates
- Next.js 15.1.2: React framework with App Router and Turbopack support
- React 19.0.0: Latest React with concurrent features
- TypeScript Ready: Full TypeScript support for type safety
- Tailwind CSS 3.4.1: Utility-first CSS framework
- Custom CSS Variables: Dynamic theming system
- Heroicons: Beautiful SVG icon library
- Google Fonts: Inter font family for modern typography
- Bowser: Advanced browser detection library
- Performance APIs: Native browser performance monitoring
- Web APIs: Geolocation, Battery, Clipboard, WebGL, and more
- jsPDF 3.0.1: Client-side PDF generation
- jspdf-autotable 5.0.2: Advanced table generation for PDFs
- Custom Security Utils: Data encryption and anonymization
- CSV Generation: Custom CSV export functionality
- ESLint: Code linting and quality assurance
- PostCSS: CSS processing and optimization
- Git Hooks: Automated code quality checks
Follow these instructions to set up and run the project locally.
- Node.js 18+: Download from nodejs.org
- npm/yarn/pnpm: Package manager (npm comes with Node.js)
- Git: Version control system
-
Clone the Repository
git clone https://github.com/devSahinur/device-info-app.git cd device-info-app -
Install Dependencies
npm install # or yarn install # or pnpm install
-
Run Development Server
npm run dev # or yarn dev # or pnpm dev
-
Open in Browser
Navigate to http://localhost:3000 to see the application.
npm run dev # Start development server
npm run dev:turbo # Start development server with Turbopack
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint for code qualityThe app works out of the box, but you can customize:
- Theme Colors: Edit CSS variables in
app/globals.css - Font Settings: Modify font imports in
app/layout.js - Performance Intervals: Adjust monitoring frequency in hooks
- Export Settings: Customize PDF/CSV generation in components
| Browser | Version | Status |
|---|---|---|
| Chrome | 90+ | โ Full Support |
| Firefox | 88+ | โ Full Support |
| Safari | 14+ | โ Full Support |
| Edge | 90+ | โ Full Support |
| Opera | 76+ | โ Full Support |
| Mobile Safari | 14+ | โ Full Support |
| Chrome Mobile | 90+ | โ Full Support |
- Basic Device Info: All modern browsers
- Performance Monitoring: Chrome 90+, Firefox 88+, Safari 14+
- Real-time Charts: All supported browsers
- Export Functions: All supported browsers
- Dark Mode: All supported browsers
- Accessibility: All supported browsers
device-info-app/
โโโ app/
โ โโโ globals.css # Global styles and theme variables
โ โโโ layout.js # Root layout with theme provider
โ โโโ page.js # Main page component
โโโ components/
โ โโโ CollapsibleSection.js # Expandable content sections
โ โโโ DownloadManager.js # Multi-format export system
โ โโโ EnhancedDeviceInfo.js # Main device info component
โ โโโ InfoTable.js # Data display table
โ โโโ PerformanceChart.js # Real-time chart component
โ โโโ PerformanceMonitor.js # System monitoring dashboard
โ โโโ SecurityDashboard.js # Security analysis component
โ โโโ ThemeToggle.js # Dark/light mode toggle
โโโ contexts/
โ โโโ ThemeContext.js # Theme state management
โโโ hooks/
โ โโโ useEnhancedDeviceInfo.js # Device data collection
โ โโโ usePerformanceMonitor.js # Performance monitoring
โโโ utils/
โ โโโ security.js # Security and encryption utilities
โโโ TROUBLESHOOTING.md # Common issues and solutions
import { useEnhancedDeviceInfo } from '@/hooks/useEnhancedDeviceInfo';
function MyComponent() {
const { deviceInfo, realtimeUpdates, toggleRealtimeUpdates } = useEnhancedDeviceInfo();
return (
<div>
<h2>Browser: {deviceInfo?.['Browser Name']}</h2>
<button onClick={toggleRealtimeUpdates}>
{realtimeUpdates ? 'Stop' : 'Start'} Real-time Updates
</button>
</div>
);
}import { usePerformanceMonitor } from '@/hooks/usePerformanceMonitor';
function PerformanceDisplay() {
const { performanceData } = usePerformanceMonitor();
return (
<div>
<p>CPU Usage: {performanceData.cpuUsage}%</p>
<p>Memory: {performanceData.memoryUsage?.percentage}%</p>
<p>Frame Rate: {performanceData.frameRate} FPS</p>
</div>
);
}import { useTheme } from '@/contexts/ThemeContext';
function ThemedComponent() {
const { theme, toggleTheme } = useTheme();
return (
<div className={`${theme === 'dark' ? 'bg-gray-900' : 'bg-white'}`}>
<button onClick={toggleTheme}>
Switch to {theme === 'light' ? 'dark' : 'light'} mode
</button>
</div>
);
}Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Use meaningful commit messages
- Add comments for complex logic
- Ensure responsive design
- Test accessibility features
This project is licensed under the MIT License - see the LICENSE file for details.
Sahinur
- GitHub: @devSahinur
- Website: sahinur.dev
- Email: infosahinur@gmail.com
- Next.js for the amazing React framework
- Tailwind CSS for the utility-first CSS framework
- Heroicons for beautiful icons
- jsPDF for client-side PDF generation
- Bowser for browser detection
- The open-source community for inspiration and support
- PWA Support: Service worker and offline functionality โ COMPLETED
- Data Persistence: Local storage for settings and history
- Advanced Analytics: Historical performance tracking
- Customizable Dashboard: Drag-and-drop interface
- API Integration: External device database lookup
- Notification System: Performance alerts and warnings
- Multi-language Support: Internationalization (i18n)
- Plugin System: Extensible architecture for custom features
Built with โค๏ธ by Sahinur
