An intuitive and lightweight desktop screen time tracking tool designed to help you understand your computer usage habits, boost productivity, and maintain a healthy work-life balance.
- Time Tracking: Runs silently in the background, accurately recording the duration spent on each application.
-
- Website Usage Statistics: When used with a browser extension, it can track the amount of time spent on websites.
- Visual Analytics: Provides a rich variety of intuitive charts and statistics, allowing you to clearly understand your time distribution.
- Privacy First: All data is stored locally and never uploaded to the cloud, guaranteeing your personal privacy.
- Lightweight & Efficient: Ultra-low CPU and RAM usage, ensuring it won't impact your daily experience.
- Highly Configurable: Offers detailed configuration options to cater to different user requirements.
- Multilingual Support: Native support for both English and Simplified Chinese interfaces.
You can download the application from Releases or build it yourself.
- .NET 10.0 (C#)
- ASP.NET Core Web API
- FastEndpoints
- Entity Framework Core
- SQLite
- Mediator
- React
- TypeScript
- Vite
- Material UI (MUI)
- TanStack Query
- TanStack Router
- i18next
- Zod
- ECharts
- Photino.NET
- H.NotifyIcon
The backend follows a Modular Monolith architecture, with individual modules organized using Vertical Slice Architecture.
The frontend follows Feature-Sliced Design (FSD).
When the application starts, it launches a local backend API service. The frontend is loaded into the WebView provided by the Photino.NET desktop shell and communicates with the backend through the local API.
- Prerequisites
- .NET SDK 10.0+
- Node.js 22.12.0+
- Clone Repository:
git clone https://github.com/majianchuan/ScreenTimeTracker.git
- Build Frontend:
cd src/frontend pnpm install pnpm build - Build the browser extension (optional):
The build output will be generated in the
cd ../web-extension pnpm build.outputdirectory. - Run Application:
cd ../Hosts/ScreenTimeTracker.Desktop dotnet run
If you encounter any issues or have feedback and suggestions, feel free to join our community:
- Discord Community: Join Discord
- QQ Group: Join QQ Group