A local-first productivity desktop app for focused daily planning, time tracking, and project management. Built with Tauri, Astro, and Svelte — no cloud required.
Daily Planning
Calendar & Time Tracking
Projects & Clients
Focus & Planning
Data & Privacy
| Layer | Technology |
|---|---|
| Desktop shell | Tauri v2 |
| Frontend framework | Astro 5 + Svelte 4 |
| State management | nanostores |
| PDF report engine | renderreport (Rust + Typst) |
| Storage | IndexedDB (localStorage abstraction) |
| Tests | vitest |
cargo install tauri-cli --version "^2"GitHub/
├── etasks/ ← this repo
└── renderreport/ ← required for PDF reports
# Install frontend dependencies
npm install --prefix ui
# Install root dependencies (optional — no longer needed with Tauri)
# Generate app icons (already committed, only needed after icon changes)
npm run icons
cargo tauri dev
Starts the Astro dev server on port 4321 and opens the Tauri window.
cargo tauri build
Produces a native macOS .app bundle in src-tauri/target/release/bundle/.
npm test
# or
npm run test --prefix ui
etasks/
├── src-tauri/ # Tauri Rust backend
│ ├── src/
│ │ ├── commands/
│ │ │ ├── export.rs # File export, iCloud sync, ICS file dialog
│ │ │ ├── notification.rs
│ │ │ └── report.rs # PDF generation via renderreport
│ │ ├── lib.rs
│ │ └── main.rs
│ ├── capabilities/
│ └── tauri.conf.json
├── ui/ # Astro + Svelte frontend
│ └── src/
│ ├── components/ # Svelte UI components
│ ├── domain/ # Pure domain logic + tests
│ ├── lib/ # Services (export, ICS, reports, storage)
│ ├── stores/ # nanostores state
│ └── styles/ # Global CSS
└── assets/
└── icon.svg
CI runs on every push to main:
cargo check for the full Tauri + renderreport dependency treeRelease builds trigger automatically on version tags:
git tag v0.1.0-alpha.1
git push origin v0.1.0-alpha.1
This builds and uploads to GitHub Releases:
eTasks_0.1.0-alpha.1_aarch64.dmg — macOS Apple SiliconeTasks_0.1.0-alpha.1_x64.dmg — macOS InteleTasks_0.1.0-alpha.1_x64_en-US.msi — Windows installereTasks_0.1.0-alpha.1_x64-setup.exe — Windows NSISReleases are ad-hoc signed (no paid Apple Developer account). macOS will warn on first launch:
xattr -cr /Applications/eTasks.appAfter the first launch, the app opens normally.
MIT