ScreenForge is an open-source Windows screen time dashboard built with Electron + React + TypeScript. It shows usage by app/category, daily/weekly/monthly averages, notification counts, and productivity insights with modern theming.
Check out demo on YouTube: https://youtu.be/8N5Uhrui0fw?si=OSA-CyGoBVvZXoOT
- Multi-theme UI (light, dark, tokyo, skin)
- Daily usage and category charts
- App usage table and notification summary
- Suggestions panel and focus insights
- Electron preload bridge (mock data today; ready for real Windows telemetry)
- Electron (main + preload)
- React + TypeScript (renderer)
- Vite (dev/build)
- Chart.js (visualizations)
- Windows 10/11 (data collection uses Windows APIs)
- Node.js (LTS recommended)
npm installRun the app in dev mode (Vite + Electron):
npm run devLint:
npm run lintBuild the renderer + Electron bundles:
npm run buildRun the built Electron main process (after build):
npm run electron:startBuild a Windows installer (NSIS):
npm run distBuild a portable Windows binary:
npm run dist:portableThe app captures the active foreground app every 5 seconds using Windows APIs and aggregates usage locally for the current session. Notification counts are pulled from the Windows Notifications Platform event log and summarized per app.
If notification counts remain at 0, ensure the Windows Notifications Platform/Operational log is enabled in Event Viewer.
Contributions are welcome. If you’d like to add features, fix bugs, or improve docs, please see CONTRIBUTING.md.
ScreenForge is licensed under the MIT License. See LICENSE.md.
