A polished desktop To-Do application optimized for 8.8″ ultrawide displays (resolutions: 1920×480, 1280×400, 1024×256), featuring scheduling, reminders, local AI integration via Ollama, and a gorgeous, customizable UI.
Built with Tauri (Rust + TypeScript), React, and Tailwind CSS.
- 🎨 Beautiful, full-screen UI with three curated theme presets (Slate Glass, Noir Neon, Paper Warm)
- 📅 Task scheduling & reminders with cron-like recurrence
- 🤖 Local AI email drafting via Ollama (embedded or external mode)
- ⚡ Keyboard-first workflow with command palette (Cmd/Ctrl+K)
- 🎯 Horizontal scrolling sections (Today / Upcoming / Someday)
- 🔔 Native desktop notifications with snooze support
- 🎨 Full theme customization with live preview
- 💾 Local-first with SQLite persistence
- 🔐 Privacy-focused - all data stays on your machine
Run our automatic download script that detects your platform and downloads the latest version:
Linux/macOS:
curl -sSL https://raw.githubusercontent.com/rjpenny16/myReminders/main/download.sh | bashOr download and run manually:
wget https://raw.githubusercontent.com/rjpenny16/myReminders/main/download.sh
chmod +x download.sh
./download.shWindows (PowerShell):
irm https://raw.githubusercontent.com/rjpenny16/myReminders/main/download.ps1 | iexThe script will:
- ✅ Detect your operating system and architecture automatically
- ✅ Download the correct installer for your platform
- ✅ Offer to install the app immediately
- ✅ No manual searching or guessing required!
Want to skip the setup? Download pre-built installers from the Releases page:
- Windows: Download the
.msiinstaller - macOS: Download the
.dmg(Apple Silicon) or.app.tar.gz(Intel) - Linux: Download the
.AppImageor.debpackage
Simply download, install, and run - no build tools required!
Operating System:
- Windows: Windows 10 (64-bit) or later
- macOS: macOS 10.15 Catalina or later
- Linux: Ubuntu 20.04, Debian 11, Fedora 36, or equivalent (64-bit)
Hardware:
- CPU: Dual-core processor (2 GHz or faster)
- RAM: 4 GB (8 GB recommended for AI features)
- Disk Space: 200 MB for application + 2-4 GB for AI models (if using Ollama)
- Display: Any resolution supported (optimized for ultrawide displays)
Network:
- Internet connection required for initial download and AI model installation
- No internet required for daily use (fully offline-capable)
- Display: 8.8″ ultrawide display (1920×480, 1280×400, or 1024×256)
- RAM: 8 GB or more (for smooth AI drafting with Ollama)
- Disk Space: 5 GB free space (for multiple AI models)
- Ollama: Latest version for AI email drafting features
- Ollama (for AI features): Free download from ollama.com
- Requires additional 2-4 GB per model (e.g., llama3.1)
- Works with any Ollama-compatible model
- Can run in embedded or external mode
- Node.js (v18+)
- Rust (latest stable)
- Tauri CLI dependencies for your platform:
- macOS: Xcode Command Line Tools
- Windows: Visual Studio Build Tools with C++ workload
- Linux: See Tauri prerequisites
- Ollama (optional, for AI features)
Option 1: Automated Setup (Recommended)
# Linux/macOS
./setup.sh
# Windows (PowerShell)
.\setup.ps1The setup script will automatically check for prerequisites, install Rust if needed, and set up all dependencies.
Option 2: Manual Installation
# Clone the repository
cd ultrawide-todo
# Install dependencies
npm install
# Run in development mode
npm run tauri:devnpm run tauri:buildThe compiled app will be in src-tauri/target/release/.
For AI email drafting to work, you need Ollama running locally.
- macOS/Linux: https://ollama.com/download
- Windows: Download from the official site
ollama pull llama3.1ollama serveOllama will run at http://127.0.0.1:11434 by default.
- Open the app
- Press Cmd/Ctrl+K → Settings
- Under AI:
- Mode: Choose
embedded(in-app) orexternal(launch Ollama app) - Model: Enter your model name (e.g.,
llama3.1,llama2,mistral) - Base URL: Default is
http://127.0.0.1:11434 - Temperature: Adjust creativity (0.0–2.0, default 0.5)
- Mode: Choose
| Key | Action |
|---|---|
N |
New task (full form) |
Enter |
Quick add task (from quick-add bar) |
/ |
Quick search/filter (opens palette) |
Cmd/Ctrl+K |
Command palette |
A |
Theme editor |
Esc |
Close modals |
The quick-add bar at the top of the app allows you to rapidly create tasks:
- Type your task title in the input field
- Select the section (Today/Upcoming/Someday) using the buttons
- Press
Enterto create the task instantly
The app comes with three beautiful presets:
- Slate Glass - Dark, modern, with soft glass effects
- Noir Neon - High-contrast cyberpunk aesthetic with neon accents
- Paper Warm - Light, serif-based, warm tones inspired by paper
- Press
Aor use the command palette → Theme Editor - Adjust colors, border radius, opacity, blur, and spacing
- Click Apply Theme to save
You can also export/import themes as JSON.
The app is optimized for ultrawide displays:
- 1920×480 (16:4 aspect ratio)
- 1280×400 (16:5)
- 1024×256 (4:1)
To adjust:
- Open Settings (Cmd/Ctrl+K → Settings)
- Under Display, choose your Resolution Profile
- Adjust Font Size Scale if needed (0.5–2.0×)
Each task can have:
- Title & Notes
- Section: Today / Upcoming / Someday
- Due Date & Reminders (multiple reminders supported)
- Recurrence (cron-like: e.g.,
0 9 * * MON-FRIfor weekday standups) - Tags (for filtering)
- Priority (1 = high, 3 = low)
- Action: None / Email Draft / Custom Command
For tasks with action: "email_draft":
- Click the ✨ Draft button on the task card
- The AI Draft Panel opens with a prefilled prompt
- Edit the prompt if needed
- Click Draft with Ollama
- The AI streams the email draft in real-time
- Click Copy or Open in Email to use it
- Embedded: Streams AI responses directly in the app (default)
- External: Launches the Ollama app and copies the prompt to clipboard
The app uses a Rust-based scheduler (Tokio + cron) to ensure reminders fire reliably, even when the app window is hidden.
- Reminders are checked every minute
- Native notifications appear with "Complete", "Snooze", and "Open Task" actions
- Recurrence supports cron syntax (e.g.,
0 9 * * MON-FRI)
All data is stored locally in SQLite:
- Database location:
~/.local/share/com.ultrawide.todo/(Linux) or platform-specific app data directories - No cloud sync - your tasks stay on your machine
- Export/Import tasks as JSON via the command palette
ultrawide-todo/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── store/ # Zustand state management
│ ├── themes/ # Theme presets
│ ├── lib/ # Ollama client, utilities
│ └── hooks/ # Keyboard shortcuts, etc.
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands.rs # Tauri commands (CRUD, settings, clipboard)
│ │ ├── db.rs # Database layer & migrations
│ │ ├── scheduler.rs # Tokio scheduler for reminders
│ │ ├── models.rs # Data models
│ │ └── utils.rs # OS-specific utilities (launch Ollama)
│ └── tauri.conf.json # Tauri configuration
├── seed.json # Example tasks
└── README.md
- Frontend: React 18, TypeScript, Tailwind CSS, Zustand
- Backend: Tauri 2.0, Rust, Tokio, SQLite
- AI: Ollama HTTP API
-
Backend (Rust):
- Add commands in
src-tauri/src/commands.rs - Update
invoke_handler!inlib.rs
- Add commands in
-
Frontend (React):
- Add Zustand actions in
src/store/taskStore.ts - Call via
invokefrom@tauri-apps/api/core
- Add Zustand actions in
- Ensure Ollama is running:
ollama serve - Check the base URL in Settings matches your Ollama instance
- Verify the model is installed:
ollama list
- Make sure you have all Tauri prerequisites: https://tauri.app/v1/guides/getting-started/prerequisites
- Run
cargo cleanand try again
- Grant notification permissions in your OS settings
- Check that the scheduler is running (look for console logs)
- Horizontal kinetic scrolling: Sections scroll smoothly with scroll-snap
- Micro-interactions: Hover lifts, press scales, completion morph animations
- Custom scrollbars: Styled to match the theme, auto-hide when idle
- Glass morphism: Surface elements use backdrop-filter blur for depth
- Typography: Tight letter-spacing optimized for ultrawide aspect ratios
- Color tokens: All colors are CSS variables, updated live via theme system
- Spacing scale: Base unit of 4px, all spacing is multiples for consistency
- Accessibility: High-contrast theme option, keyboard navigation, ARIA labels
- 1920×480: Default layout, optimal for most content
- 1280×400: Slightly tighter spacing, smaller font scale recommended
- 1024×256: Use Font Size Scale = 0.8–0.9× for best fit
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly (dev mode + production build)
- Submit a pull request
MIT License - see LICENSE file for details.
- Tauri - for the amazing Rust+web framework
- Ollama - for local AI inference
- Zustand - for simple, elegant state management
Enjoy your beautiful, ultrawide To-Do app! 🎉
For issues or questions, please open a GitHub issue.