Open-source tools for tracking daily habits, managing time, and improving personal productivity and focus.
Wekan is an open-source, self-hosted Kanban project management tool used for organizing workflows through boards, lists, and cards. It is a real-time web application that allows teams to manage tasks on private infrastructure. The platform distinguishes itself with extensive data migration tools, specifically for importing boards and cards from Trello. It supports enterprise-grade identity integration via LDAP, OpenID Connect, and OAuth2, and offers flexible storage options including PostgreSQL as a primary relational backend and pluggable cloud storage for attachments. The system covers a wide range of task management capabilities, including Gantt chart visualizations, time tracking, and cross-board task aggregation. It includes administrative tools for role-based access control, automated backup scheduling, and programmatic extensibility through a REST API and event-driven webhooks. The application is available for deployment via Docker and supports multi-tenant configurations.
This project is a command-line task runner designed to manage project-specific workflows through a centralized, configuration-driven interface. It functions as a declarative tool for organizing build logic, environment variables, and task dependencies into a structured format, enabling the automation of complex development pipelines. The tool distinguishes itself by providing a shell-agnostic execution layer that ensures consistent behavior across Windows, macOS, and Linux. It supports advanced workflow orchestration by constructing directed acyclic graphs to manage task prerequisites, while offering flexible parameter injection and command-line variable overrides to customize execution without modifying source files. Users can also leverage interactive recipe selection and modular configuration imports to navigate and maintain complex project structures. Beyond core execution, the project includes a broad suite of developer utilities such as automated shell completion generation, integrated terminal documentation, and support for diverse script interpreters. It manages environment contexts through variable loading and exporting, while providing granular control over process signals, parallel execution, and output verbosity. The project is distributed as a standalone binary, with documentation and usage details accessible directly through its built-in manual page system.
ActivityWatch is an open-source, privacy-focused time tracking platform that automatically records computer usage patterns to provide a comprehensive history of personal digital activity. It functions as a background service that monitors system metrics, application focus, and user input to build a detailed log of how time is allocated across various tasks and projects. The platform distinguishes itself through a local-first architecture that stores all activity data as structured files on the user's machine, ensuring that sensitive usage history remains private and accessible offline. It supports peer-to-peer synchronization, allowing users to merge activity logs across multiple computers to maintain a unified history. Data is organized into logical containers, which are managed and queried through a local interface to generate interactive visualizations and reports. The system utilizes a modular plugin-based architecture to capture a wide range of metadata, including browser activity, media consumption, and specific file paths from code editors. It also provides tools to import historical records from third-party services, consolidating disparate data sources into a single analytical view.
This project is a cross-platform desktop application that functions as a graphical shell replacement. Built using web technologies, it provides a unified workspace that integrates a terminal emulator with real-time system monitoring tools, allowing users to interact with their operating system through a touch-friendly, native-like interface. The application distinguishes itself through a highly customizable layout engine that uses external configuration files to arrange interface components. It features a distinct visual aesthetic and wraps standard terminal emulation within a graphical container, facilitating command execution alongside live hardware and filesystem metrics. An internal communication bridge manages the exchange of data between the web-based frontend and privileged system-level backend processes. The environment supports extensive personalization of workspace tools and debugging utilities to accommodate specific user workflows. It also includes built-in diagnostic capabilities for tracking process activity and hardware performance, alongside standardized protocols for reporting security vulnerabilities and managing software updates.
Tai is a desktop activity tracker and self-hosted productivity monitor designed to record the amount of time spent on specific software applications and websites. It functions as a software usage monitor and website browsing logger to analyze digital time distribution. The system provides capabilities for digital productivity analysis, personal time tracking, and screen time management. It can also be used for employee activity monitoring to audit software engagement and workflows. The project handles monitoring and observability through time-series usage logging and local persistence storage. It utilizes browser API integration and process-name mapping to distinguish between different websites and applications.
Atuin is a command-line tool that replaces standard shell history with a searchable, encrypted SQLite database. By hooking into shell initialization scripts, it provides an interactive, keyboard-driven interface for real-time command filtering and retrieval. The platform ensures data privacy through a client-side encryption layer, securing sensitive history and configuration data before it is synchronized across multiple machines. Beyond history management, Atuin functions as an executable documentation platform that enables teams to create and share interactive runbooks. These documents use a block-based editor to combine rich text with live terminal commands, database queries, and API interactions. Users can compose complex automation workflows by chaining these modular blocks, which support dynamic template variable injection and script execution to maintain consistent operational procedures across different environments. The system includes a background synchronization service that maintains consistent shell aliases, environment variables, and dotfile settings across devices. Teams can collaborate within shared workspaces, utilizing versioned runbooks and integrated access controls to manage standardized tasks. The platform also features an AI assistant that can interpret natural language instructions to modify document content, allowing for efficient updates to automated procedures.
This project is a comprehensive, curated collection of software resources designed for the macOS ecosystem. It serves as a centralized directory for discovering applications across a wide range of functional domains, including professional development, system management, and personal productivity. The directory distinguishes itself by offering a highly granular classification of tools that cater to specific technical and creative workflows. It highlights specialized software for software engineering, such as terminal emulators, version control clients, and API development tools, alongside a broad selection of utilities for system security, virtualization, and network analysis. Beyond technical requirements, the collection includes extensive categories for design, writing, and daily task management, ensuring a diverse range of software needs are addressed. The repository covers a vast capability surface, spanning from communication and file-sharing utilities to advanced document processing, media management, and privacy-focused browsing tools. It also features specialized sections for artificial intelligence agents, data recovery, and financial tracking, providing a holistic view of the available software landscape for the platform.
Lazygit is a terminal-based user interface designed to simplify version control operations through a keyboard-driven workflow. It functions as a visual abstraction layer that bridges native commands with an interactive environment, allowing users to manage repository history, branches, and commit workflows without relying solely on manual command-line input. The tool distinguishes itself by automating complex version control tasks that typically require multiple manual steps. It provides specialized interfaces for interactive rebasing, commit history amendment, and binary search-based regression analysis. By leveraging the internal reflog, it also enables users to undo or redo recent actions, providing a safety net for repository state changes. Beyond core version control, the application offers extensive support for managing branching models, worktrees, and custom shell integrations. Users can stage individual lines of code, visualize commit graphs, and define custom commands to automate repetitive tasks. The interface is built to be highly navigable, featuring text-based filtering, customizable keybindings, and persistent directory management to streamline daily development cycles.