Skip to content

Repository files navigation

RoutineNotify

GitHub License Platforms

Your routine shouldn't be a list you forget. RoutineNotify turns it into a voice that reminds you — on time, every time.

Screenshots

Routines overview Routine editor Settings
Routines overview Routine editor Settings
Tasks Windows notification
Tasks Windows notification

Features

  • Scheduled notifications — set the exact time for each routine.
  • Custom sounds & icons — attach your own audio and images.
  • AI messages — Gemini writes the message, ElevenLabs reads it aloud.
  • Task list — simple built-in to-do list.
  • System tray — runs quietly in the background.
  • Full backup — export/import everything in a single JSON file.
  • 9 UI languages — EN, ES, 日本語, FR, DE, IT, PT, 한국어, 中文.

Installation

Download the installer from the releases page:

  • Windows: RoutineNotify.Setup.<version>.exe
  • macOS: RoutineNotify-<version>.dmg (Intel) and RoutineNotify-<version>-arm64.dmg (Apple Silicon)
  • Linux: .AppImage or .deb

Quick start

  1. Install and launch the app — it starts minimized in the system tray.
  2. Double-click the tray icon to open the main window.
  3. Go to Routines → New routine, set a time and a message, save, and keep the routine enabled.
  4. You'll get a notification at the scheduled time with your sound.

Usage

  • Routines — create, edit, enable/disable and test your routines. Each one has a time, message, optional icon and sound, and an AI message toggle.
  • Tasks — a lightweight to-do list; check items off as you finish them.
  • Settings — API keys, voice, message language, UI language and theme.

The AI message toggle needs both API keys configured in Settings. If AI is disabled or a key is missing, the app uses the message you wrote.

AI configuration

  1. Gemini API key (writes messages) — free key at aistudio.google.com.
  2. ElevenLabs API key (reads them aloud) — at elevenlabs.io.

Paste both in Settings → AI assistant, pick a voice and language, and enable AI on any routine.

Import / Export

Use Export to save everything (routines, tasks, icons and sounds) into a single self-contained JSON file, and Import to restore it. API keys are never exported.

The backup file is a JSON object with the following shape:

{
  "version": 2,
  "exportedAt": "2026-08-08T21:16:39.0250943-06:00",
  "routines": [
    {
      "id": 1,
      "hour": 8,
      "minute": 0,
      "title": "Deep work",
      "description": "2 hours of focused coding",
      "icon": "",
      "sound": "file:custom_0123456789abcdef0123456789abcdef.ogg",
      "enabled": true,
      "useAI": true
    }
  ],
  "todos": [
    {
      "id": 1,
      "text": "Review pull requests",
      "completed": false,
      "createdAt": "2026-08-08T08:00:00.000Z",
      "completedAt": null
    }
  ],
  "icons": [],
  "sounds": [
    {
      "name": "custom_0123456789abcdef0123456789abcdef.ogg",
      "data": "<base64-encoded file content>"
    }
  ]
}

Routine fields:

Field Type Description
id number Unique identifier
hour number Hour of the notification (0-23)
minute number Minute of the notification (0-59)
title string Routine name (shown in the notification)
description string Detail shown in the app
icon string Custom icon reference, empty for default
sound string Sound reference — file:<name> for a custom sound, empty for default
enabled boolean Whether the routine is active
useAI boolean Generate the message with AI instead of title

Embedded assets: images and sounds are stored in icons / sounds as { "name", "data" } where data is the file content encoded in base64. A routine references an asset by name, e.g. sound: "file:custom_0123456789abcdef0123456789abcdef.ogg" and the corresponding entry in sounds carries the actual bytes. This keeps every backup fully self-contained and portable.

Legacy format: a plain array of routines is also accepted on import — the message field from older versions is migrated to title automatically.

Data storage

  • Windows: %APPDATA%\Routine Notify\
  • macOS: ~/Library/Application Support/Routine Notify/
  • Linux: ~/.config/Routine Notify/
File Contents
routines.json Your routines
todos.json Your task list
settings.json API keys, language and theme
custom-icons/ Uploaded images
custom-sounds/ Uploaded audio files

Development

Requirements: Node.js 18+ and npm.

npm install
npm run dev
npm run typecheck
npm run build
npm run build:win   # Windows .exe
npm run build:mac   # macOS .dmg
npm run build:linux # Linux AppImage + .deb

Tech stack

  • Electron 33 + electron-vite
  • React 19 + Zustand
  • Tailwind CSS 4 + Radix UI
  • Gemini API — AI messages
  • ElevenLabs API — text-to-speech

License

MIT — see the LICENSE file.

About

AI-first routine manager with voice notifications. Plan your day, get each block announced out loud with custom sounds, cross-platform.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages