Your day, at a glance. A beautiful, feature-rich day planner with visual time-blocking, task management, and calendar sync. Use it instantly at dayglance.app or self-host it on your own server. All data is stored locally in your browser -- nothing is ever sent to a server.
Most planners either lock your data in someone else's cloud or lack the polish of commercial apps. dayGLANCE gives you both: a rich, intuitive planning experience you can use right away at dayglance.app, or deploy on your own infrastructure. Even on the hosted version, your data never leaves your machine — everything is stored locally in your browser. Optionally sync across devices through your own Nextcloud instance (more sync providers coming soon), and work offline as a full PWA.
The heart of the app. The Glance panel gives you an intelligent, real-time snapshot of your day — no scrolling through a calendar required. It shows your full agenda with color-coded tasks, a "now" marker that tracks where you are in the day and how much free time you have, overdue tasks that need attention, and today's routines.
Drag and drop tasks onto a 24-hour timeline to plan your day. Resize tasks by dragging their edges and move them between time slots. Filter the timeline by #tags to focus on what matters. Supports multi-day views (1, 2, or 3 days) depending on screen size.
Capture tasks as they come to mind without worrying about when to do them. Prioritize with three priority levels, filter by priority, and drag tasks to the timeline when you're ready to commit.
Set tasks to repeat daily, weekly on specific days, monthly, or on custom intervals. Edit a single occurrence or the entire series. Build daily Routines — reusable task templates for each day of the week that you drag onto the timeline with one gesture.
A built-in Pomodoro-style timer with customizable work, short break, and long break durations. Associate a timer session with a specific task and mark it complete when you're done. Keeps your screen awake during focus sessions.
Track your productivity with a daily dashboard: tasks completed, completion rate ring, time planned vs. time spent, and focus time logged. An all-time statistics view shows lifetime trends, averages, and streaks.
End each week with a guided review. See your weekly stats, reflect with built-in prompts, and plan ahead. Set a configurable weekly reminder so you never skip a review.
Import events from iCal, Google Calendar, or Nextcloud calendar URLs. Imported events appear color-coded on your timeline alongside your tasks, refreshing automatically every 15 minutes.
Sync your entire planner across devices through your own Nextcloud instance via WebDAV, with additional sync providers planned for future releases. The smart merge engine resolves conflicts at the task level using timestamps — not last-write-wins — so simultaneous edits from two devices won't clobber each other.
Automatic local and remote backups with configurable frequency (hourly, daily, weekly) and retention policies. Restore from any backup with one click. Remote backups stored on your Nextcloud instance.
Attach freeform notes to any day for journaling, reflections, or quick references. Notes sync across devices alongside your tasks.
A full dark theme that respects your preference across sessions. Every component is theme-aware, including the custom scrollbars and mobile status bar.
Press Ctrl+K (or Cmd+K) to instantly search across all tasks — scheduled, inbox, recurring, and even deleted. Results highlight matching text and let you jump straight to the task.
Configurable reminders for calendar events, scheduled tasks, all-day tasks, and recurring tasks. Choose to be notified 15, 10, or 5 minutes before, at the start, or at the end. Supports both in-app toasts and native browser notifications.
Add #tags to any task title. Filter your view by one or more tags, toggle untagged tasks on and off, and get autocomplete suggestions as you type.
Deleted tasks go to a recycle bin for easy recovery. A full undo/redo stack lets you reverse any action — task creation, edits, moves, completions, and deletions — with Ctrl+Z and Ctrl+Y.
See current weather conditions, temperature, and a 5-day forecast in the header (by zip code). A rotating panel cycles through dad jokes, fun facts, inspirational quotes, and "this day in history" moments.
dayGLANCE adapts its layout and interactions per device:
- Desktop: Multi-day timeline, sidebar with inbox and stats, hover states, mouse drag-and-drop, task resizing
- Tablet: Tabbed side panel (Glance | Inbox), floating action buttons, touch-optimized spacing
- Phone: Tab-based navigation, swipe gestures to schedule tasks, long-press to drag on the timeline, bottom sheets for modals
| 3-Column (Wide Desktop) | 2-Column (Medium) | 1-Column (Narrow) |
|---|---|---|
![]() |
![]() |
![]() |
Install dayGLANCE on any device — desktop, tablet, or phone — for a native app-like experience. Works fully offline after first load with service worker caching. Auto-updates when a new version is deployed.
A built-in onboarding flow guides new users through the app's features: adding tasks, using drag-and-drop, setting priorities, configuring sync, and more. Tracks progress and unlocks features as you explore.
No build required. Create a docker-compose.yml:
services:
dayglance:
image: ghcr.io/krelltunez/dayglance:latest
container_name: dayglance
restart: unless-stopped
ports:
- "6767:80"Then run:
docker compose up -dThe app will be available at http://localhost:6767.
git clone https://github.com/krelltunez/day-planner.git
cd day-planner
npm install
npm run devOpen http://localhost:5173 in your browser. To build for production: npm run build.
-
Run the Docker container on your server (see above).
-
Set up a reverse proxy (e.g., Caddy) for HTTPS:
dayglance.yourdomain.com { reverse_proxy localhost:6767 }
-
Access your instance at
https://dayglance.yourdomain.com.
For detailed deployment instructions, see the Documentation.
| Layer | Technology |
|---|---|
| UI Framework | React 18 |
| Build Tool | Vite 5 |
| Styling | Tailwind CSS 3 |
| Icons | Lucide React |
| PWA | vite-plugin-pwa + Workbox |
| Testing | Vitest |
| Containerization | Docker + Nginx |
dayGLANCE currently syncs through Nextcloud via WebDAV, with more sync providers on the roadmap. To configure:
- Open Settings in dayGLANCE.
- Enter your Nextcloud WebDAV URL and credentials.
- Sync runs automatically every 15 minutes, or trigger it manually.
The sync engine merges at the task level, so edits made on different devices to different tasks will be combined cleanly. When the same task is edited on two devices, the most recent edit wins.
Import events from any iCal-compatible source:
- Open Settings > Calendar Import.
- Paste your calendar URL (Google Calendar, Nextcloud, iCal, etc.).
- Events appear on your timeline, refreshing every 15 minutes.
| Shortcut | Action |
|---|---|
Ctrl/Cmd + K |
Spotlight search |
N |
New scheduled task |
I |
New inbox task |
R |
Open routines dashboard |
Ctrl/Cmd + Z |
Undo |
Ctrl/Cmd + Y |
Redo |
Escape |
Close modal / dropdown |
? |
Show full shortcut list |
npm run test- PWA shortcuts — Quick actions from the app icon (new task, open inbox, etc.)
- Actionable browser notifications — Complete or snooze tasks directly from notifications
- IndexedDB storage — Optional self-hosted database backend for persistent server-side storage
- Habit tracking — Track daily habits and streaks alongside your tasks
- Native apps — Dedicated iOS and Android apps
- Obsidian integration — Sync tasks and daily notes with your Obsidian vault
- TRMNL support — Display your daily agenda on a TRMNL e-ink dashboard
- DAVx5 support — Sync with Android calendars and task apps via DAVx5
- Widgets — Home screen widgets for mobile and desktop
Contributions are welcome! Please open an issue or pull request on GitHub.
We'd especially appreciate help with:
- Sync providers — Dropbox, Google Drive, WebDAV (generic), and other cloud storage integrations
- Improved icons — Better app icons and PWA assets
- Documentation — Guides, tutorials, and translations









