Skip to content

krelltunez/dayGLANCE

Repository files navigation

dayGLANCE

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.

License: MIT Version

Live App | Documentation

dayGLANCE Desktop Overview


Why dayGLANCE?

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.


Features

The Glance Panel

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.

The Glance Panel

Visual Time-Blocking

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.

Time-Blocking on the Timeline

Smart Inbox

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.

Inbox with Priorities and Tags

Recurring Tasks & Routines

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.

Focus Mode

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.

Focus Mode Timer

Daily Summary & Statistics

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.

Daily Summary & All-Time Statistics

Weekly Review

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.

Calendar Sync & Import

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.

Cloud Sync

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.

Auto-Backup

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.

Daily Notes

Attach freeform notes to any day for journaling, reflections, or quick references. Notes sync across devices alongside your tasks.

Dark Mode

A full dark theme that respects your preference across sessions. Every component is theme-aware, including the custom scrollbars and mobile status bar.

Dark Mode

Spotlight Search

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.

Notifications & Reminders

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.

Tags & Filtering

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.

Recycle Bin & Undo/Redo

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.

Weather & Daily Content

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.

Responsive Across Every Device

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)
3-Column Layout 2-Column Layout 1-Column Layout

Progressive Web App

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.

Getting Started Checklist

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.


Quick Start

Docker (recommended)

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 -d

The app will be available at http://localhost:6767.

Build from Source

git clone https://github.com/krelltunez/day-planner.git
cd day-planner
npm install
npm run dev

Open http://localhost:5173 in your browser. To build for production: npm run build.

Production Deployment

  1. Run the Docker container on your server (see above).

  2. Set up a reverse proxy (e.g., Caddy) for HTTPS:

    dayglance.yourdomain.com {
        reverse_proxy localhost:6767
    }
  3. Access your instance at https://dayglance.yourdomain.com.

For detailed deployment instructions, see the Documentation.


Tech Stack

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

Cloud Sync Setup

dayGLANCE currently syncs through Nextcloud via WebDAV, with more sync providers on the roadmap. To configure:

  1. Open Settings in dayGLANCE.
  2. Enter your Nextcloud WebDAV URL and credentials.
  3. 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.


Calendar Import

Import events from any iCal-compatible source:

  1. Open Settings > Calendar Import.
  2. Paste your calendar URL (Google Calendar, Nextcloud, iCal, etc.).
  3. Events appear on your timeline, refreshing every 15 minutes.

Keyboard Shortcuts

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

Running Tests

npm run test

Planned Improvements

  • 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

Contributing

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

License

MIT


dayglance.app

About

A Day Planner App

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  

Languages