Desktop app
The desktop app is a small Electron shell around the web app: the same pages you already use, plus two shortcuts that work from anywhere on your computer.
What it does
Section titled “What it does”- Main window — your Day Planner server in a desktop window. Closing it hides it to the system tray instead of quitting, so the shortcuts keep working.
- Ctrl+E — quick-add. A small box opens over whatever you’re doing. Type
the task and press Enter; it saves and the box vanishes. It understands the
same
/commands as the web quick-add:/due friday,/est 45,/priority high,/space Work,/project Japan trip. Type a command and press Enter to set it as a chip, then the title, then Enter again to save. - Ctrl+J — command palette. A search box over everything: create a task, run the planner, jump to Today / Tasks / Week / Projects / Documents / Settings, or find an open task by name and complete it with Enter.
- Tray icon — Open, Run planner, Settings, Quit.
Install
Section titled “Install”Windows only for now.
- Download the installer from the project’s GitHub releases page and run it.
- On first launch the settings window opens. Enter:
- Server URL — where your Day Planner runs, such as
https://tasks.example.com(orhttp://localhost:3000for local dev). - API key — create one under Settings → API keys in the web app. It is stored encrypted in your OS keychain, never in a text file.
- Server URL — where your Day Planner runs, such as
- Press Test connection to confirm, then Save.
The shortcuts are listed in the same window. Turn either off, or rebind it to different keys — if another app already owns a key, saving tells you instead of failing silently.
Building it yourself
Section titled “Building it yourself”The shell lives in desktop/ in the repository and needs Node.js:
cd desktopnpm installnpm start # opens against http://localhost:3000 — run the web app toonpm test # main-process unit testsnpm run dist # builds the Windows installer into desktop/release/Icons live in desktop/assets/ and are generated, not hand-drawn: node desktop/scripts/make-icons.js rebuilds icon.ico (installer, 16–256px) and
tray.png from public/icon-512.png. Re-run it if the logo ever changes.
Updates
Section titled “Updates”The app updates itself — no reinstalls, no manual downloads:
- Automatic: it checks on launch and every 6 hours, downloads in the background, and asks “Restart now / Later” when ready. Restarting installs the update.
- One click: tray icon → Check for updates… checks immediately and tells you whether you’re up to date.
The feed lives on your own server at https://tasks.deejpotter.com/desktop/
(a generic electron-updater feed — no tokens involved, which matters because
this repository is private). Publishing a build writes latest.yml next to
the installer in desktop/release/; hosting latest.yml, the .exe and the
.blockmap at that URL is what makes updates live:
# from the repo root, after npm run dist in desktop/scp desktop/release/latest.yml desktop/release/Day\ Planner\ Setup*.exe \ desktop/release/*.blockmap deej@deej-nuc:/path/to/tasks.deejpotter.com/desktop/Until those files are hosted, update checks stay silent (or report the failure only when triggered from the tray). Differential downloads use the blockmap, so repeat updates fetch megabytes, not the full 100+ MB.
See also
Section titled “See also”- API keys: create the key the desktop app signs in with
- REST API: what the app calls under the hood
- Connect an agent: the same key pattern for AI agents