{"id":31646361,"url":"https://github.com/severmanolescu/prism","last_synced_at":"2026-05-02T23:38:34.086Z","repository":{"id":317602142,"uuid":"1060296026","full_name":"severmanolescu/prism","owner":"severmanolescu","description":"A modern Electron-based desktop application for tracking application usage time with a Steam-inspired UI. Features automatic tracking, custom collections, daily statistics, and detailed session history.","archived":false,"fork":false,"pushed_at":"2025-10-03T09:37:27.000Z","size":336,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-03T11:32:49.329Z","etag":null,"topics":["activity-tracker","application-monitoring","desktop-app","electron","javascript","nodejs","productivity","productivity-tool","time-management","time-tracker","time-tracking","usage-statistics"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/severmanolescu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-19T17:17:13.000Z","updated_at":"2025-10-03T09:37:30.000Z","dependencies_parsed_at":"2025-10-03T11:33:10.562Z","dependency_job_id":null,"html_url":"https://github.com/severmanolescu/prism","commit_stats":null,"previous_names":["severmanolescu/app-time-tracker","severmanolescu/prism"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/severmanolescu/prism","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/severmanolescu%2Fprism","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/severmanolescu%2Fprism/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/severmanolescu%2Fprism/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/severmanolescu%2Fprism/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/severmanolescu","download_url":"https://codeload.github.com/severmanolescu/prism/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/severmanolescu%2Fprism/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278727839,"owners_count":26035410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activity-tracker","application-monitoring","desktop-app","electron","javascript","nodejs","productivity","productivity-tool","time-management","time-tracker","time-tracking","usage-statistics"],"created_at":"2025-10-07T05:49:12.435Z","updated_at":"2026-05-02T23:38:34.079Z","avatar_url":"https://github.com/severmanolescu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Prism\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./assets/banner.svg\" alt=\"Prism Banner\" width=\"99%\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Electron-Latest-47848F?style=for-the-badge\u0026logo=electron\u0026logoColor=white\" alt=\"Electron\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/JavaScript-ES6+-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black\" alt=\"JavaScript\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white\" alt=\"HTML5\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white\" alt=\"CSS3\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/SQLite-07405E?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white\" alt=\"SQLite\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Status-In%20Development-yellow?style=for-the-badge\" alt=\"Status\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/License-MIT-green?style=for-the-badge\" alt=\"License\"\u003e\n\u003c/p\u003e\n\nA modern desktop application for tracking application usage time, built with Electron and inspired by Steam's UI design.\n\n## Why \"Prism\"?\n\nJust like a prism breaks white light into a beautiful spectrum of colors, **Prism** breaks down your raw application usage data into colorful, actionable insights. The name reflects the app's core purpose: transforming simple time tracking into detailed analytics, trends, and productivity metrics—making the invisible visible.\n\n## Features\n\n### 📚 Library (Main Page)\n- **Automatic Time Tracking** - Tracks all running applications automatically in the background\n- **Steam-Inspired UI** - Clean, modern interface with familiar navigation patterns\n- **Collections/Categories** - Organize apps into custom collections with colors and icons\n- **Favorites System** - Quick access to your most-used applications\n- **Daily Statistics** - View today's total usage time and app count at a glance\n- **Search \u0026 Filter** - Find apps quickly with built-in search\n- **Context Menus** - Right-click any app for quick actions (launch, favorite, hide, manage collections)\n- **Hidden Apps** - Hide apps from your library while still tracking them\n- **Real-time Updates** - Live updates as you use applications\n- **Multiple Views** - Home, Collections, and Hidden apps views\n\n### 📊 Analytics\n- **Daily Usage Charts** - Visualize your app usage over time with interactive charts\n- **Top Applications** - See your most-used apps ranked by time spent\n- **All Apps Overview** - Complete list with usage time, sessions, and last used info\n- **Category Breakdown** - Time distribution across different app categories\n- **AI-Powered Insights** - Smart suggestions based on your usage patterns\n- **Hourly Activity Heatmap** - Hour-by-hour breakdown of which apps you use when\n- **Custom Date Ranges** - View data for today, week, month, year, or custom periods\n- **Export Functionality** - Export analytics data to CSV, JSON or PDF\n\n### 🎯 Productivity\n- **Productivity Score** - Overall score (0-100) based on productive, neutral, and unproductive time\n- **Time Breakdown** - Visual breakdown of productive vs neutral vs unproductive time\n- **Key Metrics Dashboard**:\n  - Focus Time tracking\n  - Distraction Time monitoring\n  - Context Switches counter\n  - Deep Work Sessions (25+ min sessions)\n  - Peak Productivity hours\n  - Most Productive Day\n- **Productivity Trend Chart** - Track your score over time\n- **Category Distribution** - See how productive time is distributed across categories\n- **Top Apps Lists** - Most productive and most distracting apps\n- **Session Analytics**:\n  - Session length distribution\n  - App switching frequency\n  - Productivity by time of day\n- **Productivity Heatmap** - Hour-by-hour productivity breakdown\n- **Custom Productivity Levels** - Mark apps as productive, neutral, or unproductive\n- **Export Functionality** - Export productivity data to CSV, JSON or PDF\n\n### 🎯 Goals\n- **5 Goal Types**:\n  - **Productivity Score** - Target overall productivity score\n  - **Focus Time** - Track productive/neutral/unproductive time\n  - **Work Sessions** - Count deep work sessions (customizable duration)\n  - **App-Specific** - Track time on specific applications\n  - **Category Goals** - Track time spent on app categories\n- **Flexible Frequencies** - Daily, weekly, or monthly goals\n- **Real-Time Progress** - Live updates as you work towards goals\n- **Goal Status Tracking** - Pending, in progress, achieved, or failed\n- **Streak System** - Track consecutive days of goal achievement\n- **Success Rate Analytics** - 7-day success rate chart and 30-day activity calendar\n- **Goal Templates** - Pre-made templates for common productivity goals\n- **Historical Data** - View goal progress for past dates\n- **Auto-Save \u0026 Backfill** - Automatic progress tracking even when app was closed\n- **Export Functionality** - Export goals data to CSV, JSON or PDF\n- **Quick Stats** - Active goals, achieved today, current streak, and success rate\n\n### 📱 App Details\n- **Comprehensive Statistics**:\n  - Total time spent\n  - Session count\n  - Average session length\n  - Last used timestamp\n  - First tracked date\n- **Usage Trends** - Visual chart showing usage over time\n- **Calendar Heatmap** - 30-day activity visualization\n- **Productivity Settings** - Override productivity level per app\n- **Recent Sessions** - Detailed list of recent usage sessions with duration\n- **Milestones** - Celebrate usage achievements (10h, 50h, 100h, etc.)\n- **Insights \u0026 Recommendations** - Smart analysis of your usage patterns\n- **Quick Actions** - Launch app, manage favorites, change productivity level\n\n### Usage\n- **Keyboard Shortcuts** \n  – Press ? anytime in the app to view all available shortcuts\n\n### Images\n- **Home View:** \u003cbr\u003e\n\u003cimg src=\"./assets/photos/Home-View.png\" alt=\"Logo\" width=\"1000\" /\u003e\n- **Category Insights:** \u003cbr\u003e\n\u003cimg src=\"./assets/photos/Category-Insights.png\" alt=\"Logo\" width=\"1000\" /\u003e\n- **Analytics Page:** \u003cbr\u003e\n\u003cimg src=\"./assets/photos/Analytics-Page.png\" alt=\"Logo\" width=\"1000\" /\u003e\n- **Productivity Page:** \u003cbr\u003e\n\u003cimg src=\"./assets/photos/Productivity-Page.png\" alt=\"Logo\" width=\"1000\" /\u003e\n- **Goals Page:** \u003cbr\u003e\n\u003cimg src=\"./assets/photos/Goals-Page.png\" alt=\"Logo\" width=\"1000\" /\u003e\n\n## Installation\n### Prerequisites\n- Node.js 16 or higher\n- npm or yarn\n### Setup\n1. Clone the repository\n\n```bash\ngit clone https://github.com/severmanolescu/prism.git\ncd prism\n```\n2. Install dependencies\n```bash\nnpm install\n```\n3. Run the application\n```bash\nnpm start\n```\n### Build\nTo create a distributable package:\n```bash\nnpm run build\n```\n## Project Structure\n```bash\nprism/\n├── scripts/                    # Useful scripts\n├── src/\n│   ├── main/                      # Main process (Electron/Node.js)\n│   │   ├── ipc/                   # IPC handlers organized by domain\n│   │   │   └── exporters/         # IPC handlers for exporting PDF files\n│   │   ├── services/              # Business logic (tracking, database, storage)\n│   │   │   └── data_access/       # Database access handlers\n│   │   └── utils/                 # Helper functions\n│   ├── preload/                   # Preload script for IPC bridge\n│   └── renderer/                  # Renderer process (UI)\n│       ├── styles/                # Modular CSS files\n│       │   ├── analytics/         # Analytics page styles\n│       │   ├── app-details/       # App details page styles\n│       │   ├── category-insights/ # Category Insights page styles\n│       │   ├── global/            # Global page styles\n│       │   ├── goals/             # Goals page styles\n│       │   ├── index-page/        # Main page styles\n│       │   ├── productivity/      # Productivity page styles\n│       │   └── shared/            # Shared page styles\n│       └── js/                    # Frontend JavaScript modules\n│           ├── analytics/         # Analytics page logic\n│           ├── app-details/       # App details page logic\n│           ├── category-insights/ # Category Insights page logic\n│           ├── goals/             # Goals page logic\n│           ├── index-page/        # Main page logic\n│           ├── productivity/      # Productivity page Logic\n│           └── shared/            # Shared src \n├── assets/                        # Images and icons\n└── main.js                        # Main Electron entry point\n```\n\n## Usage\n### Basic Operations\n- **Launch apps** - Click any app card or right-click and select \"Launch Application\"\n- **View details** - Click an app to see detailed usage statistics\n- **Organize apps** - Create collections and drag apps into them\n- **Search** - Use the search bar to filter applications\n- **Today's stats** - View in the top-right corner of the window\n\n### Collections\n1.  Click the grid icon in the sidebar to view collections\n2. Click \"Create New Collection\" to add a new category\n3.  Right-click any app and select \"Add to\" to move it to a collection\n\n### Hidden Apps\nApps can be hidden from the main view while still being tracked:\n-   Right-click an app → More → Hide from Library\n-   Access hidden apps via Library → Hidden in the top menu\n\n### Goals System\nSet and track productivity goals with different frequencies (daily, weekly, monthly):\n- **5 Goal Types**: Productivity score, focus time, work sessions, app-specific, category goals\n- **Smart Tracking**: Real-time progress for current periods, historical data for past periods\n- **Streak System**: Track consecutive days of goal achievement\n- **Auto-Save**: Automatic backfill for missed days when app was closed\n\n📚 **[View Complete Goals System Documentation](src/main/services/GOALS_SYSTEM_README.md)**\n\n### Data Storage\nThe application uses SQLite database for efficient data management\nSQLite database provides better performance for queries and analytics while maintaining data integrity.\n\n## Development\n### Tech Stack\n-   **Electron** - Desktop app framework\n-   **Node.js** - Backend runtime\n-   **Vanilla JavaScript** - No framework dependencies\n-   **CSS3** - Custom styling with modular architecture\n\n### Key Dependencies\n-   `electron` - Desktop application framework\n-   `active-win` - Get active window information (Windows/macOS/Linux)\n-   `better-sqlite3` - Better SQLite database for data persistence\n-   `auto-launch` - Auto-start on system boot\n\n## Roadmap\n- ✅ ~~Weekly/Monthly statistics view~~ - Implemented\n- ✅ ~~Export data to CSV/JSON~~ - Implemented for Analytics, Productivity, and Goals\n- ✅ ~~Application goals and limits~~ - Implemented with comprehensive Goals system\n- ✅ ~~Productivity insights and analytics~~ - Implemented with dedicated Productivity page\n- 🚧 Settings page - In progress\n- 📋 Custom themes\n- 📋 Notifications for goal achievements\n- 📋 Desktop widgets for quick stats\n- 📋 Multi-language support\n\n## Contributing\nContributions are welcome! Please feel free to submit a Pull Request.\n1.  Fork the repository\n2.  Create your feature branch (`git checkout -b feature/TestBranch`)\n3.  Commit your changes (`git commit -m 'Add some TestBranch'`)\n4.  Push to the branch (`git push origin feature/TestBranch`)\n5.  Open a Pull Request\n\n## Acknowledgments\n-   UI design inspired by Steam's client interface\n-   Built with Electron for cross-platform compatibility\n\n## Support\nIf you encounter any issues or have questions, please open an issue on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevermanolescu%2Fprism","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsevermanolescu%2Fprism","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsevermanolescu%2Fprism/lists"}