An unofficial, lightweight desktop client for Google Tasks
Built with Tauri | React | TypeScript | Rust
- π Full Google Tasks Integration - Sync with your Google account
- β Create, Edit, Delete Tasks - Full CRUD operations
- π Multiple Task Lists - Organize tasks in separate lists
- β Star Important Tasks - Quick access to starred tasks view
- π Due Dates - Set due dates with Today/Tomorrow shortcuts
- π Desktop Notifications - Configurable reminder time on due dates
- βοΈ Inline Editing - Click any task to edit in place
- π Drag-and-Drop - Reorder tasks within lists
- π Subtasks - Create and manage subtasks
- ποΈ Collapsible Sidebar - Show/hide lists with visibility toggles
- π Multi-Account - Switch between Google accounts
- π¨ Modern UI - Clean Material Design interface
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Material-UI |
| Backend | Rust, Tauri 1.4 |
| State | Recoil (minimal, UI-only) |
| Architecture | Layered (Repository β Service β Hooks β Components) |
Download the latest release for your platform from the Releases page.
# Clone the repository
git clone https://github.com/codad5/google-task-desktop.git
cd google-task-desktop
# Install dependencies
npm install
# Start development server
npm run launch:dev
# Build for production
npm run tauri build- Go to Google Cloud Console
- Create a new project
- Enable Google Tasks API
- Create OAuth 2.0 Client ID (Desktop application)
- Create a
.envfile:
VITE_GOOGLE_CLIENT_ID=your_client_id
VITE_GOOGLE_CLIENT_SECRET=your_client_secret- ARCHITECTURE.md - Detailed codebase architecture
- CONTRIBUTING.md - How to contribute
- CHANGELOG.md - Version history
| Limitation | Reason |
|---|---|
| No due times | Google Tasks API only supports dates, not times |
| No offline mode | Planned for future release |
Note: Notifications are triggered at your configured time on the due date (default: 9 AM). Change it in Settings.
- Core task management
- Inline editing
- Drag-and-drop reordering
- Starred tasks
- Desktop notifications
- Global keyboard shortcuts
- Offline support with sync
- Dark mode
- Theme toggle (light/dark)
- Recurring tasks
Aniezeofor Chibueze Michael (Codad5)
- GitHub: @codad5
- Website: codad5.me
- Twitter: @codaborealise
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
- Tauri - For the amazing cross-platform framework
- Material-UI - For the beautiful React components
- Google Tasks API - For the backend integration
If you find this project helpful, please consider giving it a β!
