Skip to content

Ceceliaee/patina

Repository files navigation

Patina

Local-first time tracking for Windows desktop work.

English · 简体中文

Platform Built with Tauri Local first License Downloads Latest downloads GitHub stars

Patina records foreground app usage as local, quiet, and trustworthy personal desktop time records.

Patina dashboard

Why Patina

  • Records foreground apps automatically, without manually starting or stopping timers.
  • Handles idle, lock, sleep, and abnormal-exit boundaries to keep records more trustworthy.
  • Keeps data local by default, with no account, cloud sync, or server dependency.
  • Lets you manage app names, categories, colors, stats exclusions, and window title capture.
  • Provides lightweight local tools such as reminders, timers, and Pomodoro.
  • Keeps the interface restrained, clear, and low-interruption for long-term daily use.

Download

Prebuilt versions are published on GitHub Releases:

Open the release page, download the Windows installer, and run it. Patina currently targets Windows 10/11 desktop use.

The optional Patina Web Sync browser extension is published separately and is used to identify webpage titles in browsers.

Core Features

Automatic Tracking

  • Automatically records the current foreground app and turns activity into time records.
  • Detects idle, lock, and sleep states to reduce invalid time in statistics.
  • Handles record boundaries after long-away periods and abnormal exits, reducing accidentally merged time.
  • Reduces missed effective activity in low-interaction scenarios such as videos, meetings, courses, and livestreams.

Review And Analysis

  • Review effective activity, app rankings, and category distribution in today's overview.
  • Use the timeline to review activity by date and inspect app switches and window title details.
  • Understand long-term time distribution through trends, heatmaps, and app curves.

Management And Control

  • Rename apps and adjust categories, colors, and statistics rules.
  • Exclude apps you do not want in statistics, or disable window title capture for specific apps.
  • Export local backups, restore backups, and clean up historical records.

Lightweight Tools

  • Create one-off reminders and app usage limit reminders.
  • Use stopwatch, countdown, and Pomodoro for active focus tasks.
  • Tool state stays local and does not replace automatic tracking records.

Interface Preview

History Data
History page Data page
Classification Tools
Classification page Tools page
Settings About
Settings page About page

Reliability And Privacy

Time tracking has long-term value only when the records are trustworthy. Patina focuses on these boundaries:

  • Foreground app recognition: records the window and app that are actually in the foreground, reducing temporary-window and system noise.
  • Idle handling: idle time does not continue counting as effective activity.
  • State boundaries: handles record boundaries after lock, sleep, resume, long-away periods, and abnormal exits.
  • Effective-duration stats: rankings, distributions, and totals use effective activity time, not just open spans.
  • Title capture control: window title capture can be disabled per app to reduce unnecessary sensitive information retention.
  • Local data control: core data stays local, and backups, restores, and history cleanup are initiated by the user.

Current Scope

Patina currently focuses on personal local time records:

  • Windows 10/11 desktop use
  • Personal local data storage and control
  • Automatic tracking, review, classification, and backup or restore
  • Lightweight local tools

It is not currently aimed at team collaboration, account systems, cloud sync, multi-platform sync, or heavy AI insights.

Build From Source

Requirements

Install Dependencies

git clone https://github.com/Ceceliaee/patina.git
cd patina
npm install

Run In Development

npm run tauri dev

Build Installer

npm run tauri build

Installers are generated under:

src-tauri/target/release/bundle/

Tech Stack

  • Desktop shell: Tauri v2
  • Backend: Rust
  • Frontend: React + Vite + TypeScript
  • Styling: Tailwind CSS
  • Animation: Framer Motion
  • Charts: Recharts
  • Database: SQLite via @tauri-apps/plugin-sql
  • Windows integration: windows crate

Contributing

If you want to contribute, understand the product direction, or review architecture boundaries, start with CONTRIBUTING.md.

Feedback

If you run into a problem, notice unusual records, or want to suggest an improvement, you can use GitHub Issues:

Support

Patina is a personal, local-first open-source project. If it has been useful in your daily life or work, you can support ongoing maintenance in whichever way is convenient:

Buy me a coffee

WeChat reward code

Sponsorship helps sustain maintenance, but it does not affect feature priority, issue handling, the roadmap, or the product direction.

Star History

Star History Chart

License

MIT

About

A beautiful Windows desktop time tracking app built with Tauri & React.

Resources

License

Contributing

Stars

Watchers

Forks

Contributors