Work
05 / CLI · Developer Tool

Nikki

A terminal-first notes and reminder CLI with a background daemon and Linux desktop notifications — published to npm.


Nikki is a terminal-first personal notes and reminder tool. Capture notes instantly from the shell, search and edit them, attach natural-language reminders, and receive desktop notifications via a background systemd daemon. No server, no internet connection required — everything runs locally with SQLite.

Capturing a quick thought or task in the terminal shouldn't require switching to a GUI app. Existing CLI note tools lack reminder and notification support without complex configuration.

Built a Commander.js CLI with an intuitive interface where the primary action is just `nikki "your note"`. A separate daemon process polls SQLite every 30 seconds and fires `notify-send` desktop notifications for due reminders. Nikki manages its own systemd user service installation.

                   SQLite
                     │
                     ▼
              Nikki Daemon
                     │
               Every 30 sec
                     │
              Due reminder?
                /       \
              No         Yes
              │           │
              │      notify-send
              │           │
              └─── repeat ▼ Desktop popup

SQLite via better-sqlite3 for zero-dependency local storage. chrono-node for natural-language date parsing ("tomorrow 10am", "in 2 hours"). tsup for fast builds. Systemd user services for daemon management without root access.

Reliable cross-session daemon management via systemd. Making note capture completely frictionless — `nikki "thought"` with no subcommand required.

Node.jsTypeScriptSQLiteCommander.jssystemdtsupchrono-node