Tasky Your Desktop Reminder Companion
An electron desktop application with an animated assistant companion. Tasky helps you stay organized with customizable recurring reminders, notification sounds, and a friendly desktop companion that delivers your reminders with personality.

- Recurring Reminders: Set up reminders for specific days of the week and times
- System Tray Integration: Runs quietly in your system tray
- Platform: Works on Windows
- Notification Sounds: Customizable audio alerts for reminders
- Auto-Start: Optional automatic startup with your system
- Animated Companion: Choose from multiple avatar characters
- Custom Avatars: Use your own images as assistant avatars
- Interactive Speech Bubbles: Reminders delivered with personality
- Positioning Options: Place assistant above or below other windows
- Draggable Interface: Move your assistant anywhere on screen
- Multiple Themes: Light and dark mode support
- Notification Appearance: Customize notification colours, fonts, and text colours
- Flexible Settings: Configure notifications, sounds, and assistant behaviour
- Bubble Positioning: Choose left or right side speech bubbles
- Animation Controls: Enable or disable assistant animations
- Font Selection: Choose from 9 different fonts for notifications with live preview
- Visit the Releases page
- Download the latest version for your operating system:
- Windows:
Tasky-Setup-1.0.0.exe
- Windows:
# Clone the repository
git clone https://github.com/your-repo/tasky.git
cd tasky
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Create distributable packages
npm run dist
- Launch Tasky - it will appear in your system tray
- Right-click the tray icon and select "📋 Open Settings"
- Create your first reminder by clicking "Add Reminder"
- Configure your desktop assistant in the Assistant tab
- Click "Add Reminder" in the main interface
- Enter your reminder message
- Set the time (supports both 12-hour and 24-hour formats)
- Select which days of the week to repeat
- Enable the reminder with the toggle switch
- Go to the "Assistant" tab in settings
- Choose from built-in avatars: Clippy, Merlin, Rover, Genie, Rocky, Bonzi, Peedy, Links
- Or upload your custom avatar image
- Adjust positioning, animation, and speech bubble settings
- Toggle dragging mode to move your assistant around the desktop
- Go to the "Settings" tab
- Under "Notifications & Alerts":
- Notification Colour: Choose background colour for popup bubbles
- Notification Font: Select from 9 fonts with live preview
- Notification Text Color: Set text color for optimal readability
- Test your changes with the "Test Notification" button
- Left-click/Double-click: Open settings window
- Right-click: Access context menu with quick toggles
- Notifications Toggle: Quickly enable/disable all reminders
- Exit: Properly close the application
Tasky stores its configuration in the following locations:
- Windows:
%APPDATA%/tasky/tasky-config-v2.json
- macOS:
~/Library/Application Support/tasky/tasky-config-v2.json
- Linux:
~/.config/tasky/tasky-config-v2.json
{
"enableNotifications": true,
"enableSound": true,
"enableAssistant": true,
"autoStart": false,
"selectedAvatar": "Clippy",
"enableAnimation": true,
"assistantLayer": "above",
"bubbleSide": "left",
"enableDragging": true,
"notificationColor": "#7f7f7c",
"notificationFont": "system",
"notificationTextColor": "#ffffff"
}
tasky/
├── src/
│ ├── main.js # Main Electron process
│ ├── preload.js # Preload script for security
│ ├── electron/ # Electron backend modules
│ │ ├── scheduler.js # Reminder scheduling logic
│ │ ├── storage.js # Data persistence
│ │ ├── assistant.js # Desktop companion
│ │ └── assistant-script.js # Assistant frontend logic
│ ├── renderer/ # React frontend
│ │ ├── App.jsx # Main React component
│ │ └── dist/ # Built frontend assets
│ ├── components/ # React components
│ └── assets/ # Images, sounds, icons
├── package.json
└── README.md
- Electron: Desktop application framework
- React: Frontend user interface
- Vite: Build tool and development server
- Tailwind CSS: Styling framework
- node-cron: Reminder scheduling
- electron-store: Data persistence
npm run dev # Start development server
npm run build # Build renderer and electron
npm run build-renderer # Build React frontend only
npm run build-electron # Build Electron backend only
npm run dist # Create distributable packages
npm run pack # Package without creating installer
The application uses electron-builder
for creating distributable packages:
# Build and package for the current platform
npm run dist
# The output will be in the dist/ directory:
# - Windows: .exe installer and unpacked folder
Clippy Character Notice: This project includes a "Clippy" character option as part of its desktop assistant feature. This is a fan art/tribute project created for educational and personal use purposes. The Clippy character and any associated trademarks are the property of Microsoft Corporation. This project is not affiliated with, endorsed by, or sponsored by Microsoft Corporation.
The Clippy assistant implementation in this project is:
- A creative interpretation and homage to the original Microsoft Office Assistant
- Developed independently for learning and demonstration purposes
- Not intended for commercial use or distribution
- Part of a broader desktop assistant system with multiple character options
If you represent Microsoft Corporation and have concerns about this implementation, please contact the project maintainer.
Made with ❤️ by Traves Theberge
Stay organized, stay productive! 🚀