dmdavidkov / taskmaster

Repository from Github https://github.comdmdavidkov/taskmasterRepository from Github https://github.comdmdavidkov/taskmaster

TaskMaster - Modern Task Management Application

A beautiful and responsive task management application built with Electron and React. TaskMaster helps you organize your work and life with a clean, modern interface and powerful features.

TaskMaster Screenshot

Getting Started

Environment Setup

  1. Clone the repository
  2. Copy .env.example to .env:
    cp .env.example .env
  3. Update the .env file with your settings:
    • REACT_APP_NEBIUS_API_KEY: Your Nebius API key for AI task processing
    • Other settings can be left as default for development

Note: The .env file contains sensitive information and is not tracked in version control. Make sure to keep your API keys secure.

Features

  • Create, edit, and delete tasks
  • Set due dates and priorities
  • Organize tasks with categories
  • Search and filter tasks
  • Dark/light mode support
  • Beautiful, modern UI with animations
  • Local data persistence
  • Responsive design
  • Fast and efficient
  • Auto-updates support
  • Voice-to-Text with Whisper AI model
  • Smart task creation with AI assistance

Voice-to-Text with Whisper

TaskMaster integrates the Whisper large-v3-turbo model for powerful voice-to-text capabilities. This feature allows you to dictate your tasks using your voice, making task creation faster and more convenient.

Setting Up Voice Input

  1. Go to Settings (bottom left corner)
  2. Navigate to the "Voice Input" tab
  3. Under "Whisper Configuration", you can:
    • Select your preferred model version

    whisper-large-v3-turbo is the best choice, but you can try smaller for faster processing

    • Configure model parameters (keep on default for now)
    • Choose your preferred language
  4. Click "Initialize Model" to load the Whisper model

    Note: Initial model loading may take a few moments depending on your internet connection

  5. Click "Test Speech Recognition" to test the voice-to-text functionality

    If the model is loaded and the test works, you can now use voice input to create tasks

Performance Considerations

  • The whisper model runs locally in your browser using WebGPU acceleration
  • First-time initialization requires downloading the model
  • Transcription works offline once the model is loaded
  • Processing time varies based on the length of the recording and the hardware capabilities of your device

AI-Powered Task Management

TaskMaster now features intelligent task creation using AI services. This powerful integration allows you to:

  • Convert speech into a task and task description
  • Smartly set priority and due dates
  • Support multiple languages for task creation

Setting Up AI Services

  1. Go to Settings (bottom left corner)
  2. Navigate to the "AI Services" tab
  3. Configure your AI settings:
    • Enter your API key
    • Set the base URL for your AI service
    • Choose your preferred model
  4. Save your settings

Note: The application comes pre-configured to use Nebius AI Studio, but you can use any OpenAI-compatible API service (including locally hosted with applications like Ollama or LMStudio) by changing the base URL, API key, and model.

Using Smart Task Creation

  1. When creating a new task:
    • Click the microphone icon (🎀) next to the "+ Add Task" button on the main form
  2. Voice input:
    • Speak your task details clearly
    • Click the stop button when finished
    • The Whisper model will transcribe your speech
  3. The AI service will process your input and return a new task

Tip: You can view the original transcribed text alongside the AI-processed version by hovering on the translation icon.

Installation

For Users

  1. Download the latest installer from the Releases page
  2. Run the installer (TaskMaster Setup.exe)
  3. Follow the installation wizard
  4. Launch TaskMaster from your desktop or start menu

For Developers

  1. Clone the repository:
git clone https://github.com/dmdavidkov/taskmaster.git
cd taskmaster
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev

Build

Development Build

npm run build

Create Windows Portable Version

npm run make-win

Create Windows Installer

npm run make-installer

Tech Stack

  • Frontend Framework: React 18
  • Desktop Framework: Electron 25
  • UI Components: Material-UI v5 with Icons and Date Pickers
  • State Management: React Context API
  • Animations: Framer Motion
  • Date Handling: Date-fns
  • Data Storage: Electron Store
  • Logging: Electron Log
  • Auto Updates: Electron Updater
  • Build Tools: Electron Builder, Craco
  • Unique IDs: UUID

Project Structure

taskmaster/
β”œβ”€β”€ src/               # React application source
β”‚   β”œβ”€β”€ components/    # React components
β”‚   β”œβ”€β”€ hooks/        # Custom React hooks
β”‚   β”œβ”€β”€ App.js        # Main React component
β”‚   └── index.js      # React entry point
β”œβ”€β”€ electron/         # Electron main process files
β”œβ”€β”€ assets/          # Application assets
β”œβ”€β”€ public/          # Static files
└── scripts/         # Build and utility scripts

Development

  1. Start the application in development mode:
npm run dev
  1. The application will start with hot reload enabled
  2. Edit files in src/ to see changes in real-time
  3. Main process changes require application restart

Distribution

The application can be distributed in several formats:

  • Windows Installer: Created using npm run make-installer
  • Portable Version: Created using npm run make-win
  • Development Build: Created using npm run build

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments


Made with by Dimitar Davidkov

About

License:MIT License


Languages

Language:JavaScript 99.1%Language:HTML 0.5%Language:NSIS 0.5%