AI-powered productivity tracker that automatically captures your screen activity and provides intelligent insights. All data stays local for maximum privacy.
Features β’ Quick Start β’ Documentation β’ Contributing β’ Support
- π₯ Automatic Screen Recording: Captures screenshots at 1 FPS with minimal CPU usage
- π€ AI-Powered Analysis: Uses Google Gemini API to generate intelligent activity summaries
- π Rich Visualizations: Beautiful charts and statistics for daily, weekly, monthly, and yearly insights
- π Multi-language Support: Full support for English and Chinese (δΈζ)
- π Privacy First: All data is stored locally on your device - nothing leaves your computer
- π Activity Timeline: Visual timeline showing your daily activities with AI-generated summaries
- β‘ High Performance: Optimized screenshot capture and JPEG compression (quality 85)
- π₯οΈ Cross-Platform: Works on macOS, Windows, and Linux
- Node.js (v18 or higher) and pnpm
- Rust (latest stable) and Cargo
- Tauri CLI v2:
cargo install tauri-cli@^2
# Clone the repository git clone https://github.com/crapthings/clarity.git cd clarity # Install dependencies pnpm install # Run in development mode pnpm tauri dev # Build for production pnpm tauri buildThe app requires Screen Recording permission. When you first run the app, macOS will prompt you to grant this permission. You can also grant it manually:
- Open System Settings β Privacy & Security β Screen Recording
- Enable clarity
The app may require administrator privileges for screen capture depending on your security settings.
On X11 systems, this typically works out of the box. On Wayland, you may need to grant permissions through your desktop environment's settings.
- Start Recording: Click the "Start Recording" button to begin capturing screenshots at 1 FPS
- View Timeline: Navigate to the Trace page to see your activity timeline with AI-generated summaries
- Check Statistics: Visit the Statistics page to see detailed metrics and API usage
- Generate Daily Summary: Go to the Summary page to generate comprehensive daily reports with charts
- Configure Settings: Set up your Google Gemini API key, adjust summary intervals, and customize AI prompts
- Get a Google Gemini API key from Google AI Studio
- Open Settings and paste your API key
- Configure your preferred AI model (default:
gemini-3-flash-preview) - Customize the AI prompt for summaries (supports both English and Chinese)
- Set your preferred language and video resolution
Clarity is built with modern web technologies:
- Frontend: React 19 + Vite + TailwindCSS + BaseUI
- Backend: Rust + Tauri v2
- Database: SQLite (local storage)
- AI: Google Gemini API (File API for video processing)
- Charts: Recharts for data visualization
clarity/ βββ src/ # React frontend β βββ components/ # React components β βββ pages/ # Page components (Trace, Summary, Statistics, Settings) β βββ i18n/ # Internationalization β βββ store.js # Zustand state management βββ src-tauri/ # Rust backend β βββ src/ β β βββ lib.rs # Main application logic β β βββ db.rs # Database operations β β βββ video_summary.rs # Video processing and AI integration β βββ Cargo.toml # Rust dependencies βββ package.json # Node.js dependencies - API Key: Your Google Gemini API key (required for AI summaries)
- Model: AI model to use (default:
gemini-3-flash-preview) - Summary Interval: How often to generate summaries (default: 45 seconds)
- Video Resolution: Low (~100 tokens/sec) or Default (~300 tokens/sec) for better text recognition
- Custom Prompts: Customize AI prompts in both English and Chinese
Screenshots are automatically stored in platform-specific directories:
- macOS:
~/Library/Application Support/clarity/recordings/ - Windows:
%LOCALAPPDATA%/clarity/recordings/ - Linux:
~/.local/share/clarity/recordings/
All data is organized by date (YYYY-MM-DD) for easy browsing.
- Contributing Guide - How to contribute to Clarity
- Code of Conduct - Community guidelines
- Security Policy - Security and privacy information
- Privacy Policy - Detailed privacy information
- Architecture - System architecture and design
- API Documentation - Tauri commands reference
- Changelog - Version history
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find Clarity useful, please consider:
- β Starring this repository
- π Reporting bugs via GitHub Issues
- π‘ Suggesting features via GitHub Discussions
- π° Sponsoring the project via GitHub Sponsors
- Inspired by Dayflow concepts
- Built with Tauri - a framework for building desktop applications
- AI powered by Google Gemini
Made with β€οΈ by crapthings
Report Bug β’ Request Feature β’ Documentation

