Nikki
A terminal-first notes and reminder CLI with a background daemon and Linux desktop notifications — published to npm.
Overview
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.
Problem
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.
Approach
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.
Architecture
SQLite
│
▼
Nikki Daemon
│
Every 30 sec
│
Due reminder?
/ \
No Yes
│ │
│ notify-send
│ │
└─── repeat ▼ Desktop popupTechnical Decisions
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.
Challenges
Reliable cross-session daemon management via systemd. Making note capture completely frictionless — `nikki "thought"` with no subcommand required.