Roadmap

What's shipped and what's coming next. syncfu is actively developed with a public roadmap.

Shipped

FeatureDetails
Core overlay + system trayAlways-on-top overlay window with slide-in/out animations. System tray with pause, clear all, and quit.
NSPanel on macOSNon-activating native panel that joins all Spaces. Does not steal focus from your current application.
Liquid Glass design9-layer reflex shadows, backdrop blur, grain texture, priority-tinted icons, SF Mono typography.
HTTP REST API (port 9868)Full CRUD: send, update, dismiss, wait (SSE), health check, list active notifications.
CLI with --wait flagsyncfu send/update/dismiss/list/health.--wait blocks until user responds via SSE.
Action buttons + webhooksUp to 3 buttons per notification. Per-button icon, color, and border customization. Webhook callback on click.
Live progress barsBar and ring styles. Update in-place via POST. Custom label text. Animated transitions.
27 style propertiesPer-notification color, font size, border radius, icon styling, button styling, progress colors.
Lucide icons (1400+)Any Lucide icon name as a string. Priority-tinted icon backgrounds.
Google FontsLoad any Google Font on demand per notification.
Light/dark themeAuto-follows system theme. Per-notification override with theme field.
Auto-dismiss with countdownVisual countdown bar. Pauses on hover. Priority-based default timeouts.
Critical pulsing glowSiri-style pulsing border animation for critical-priority notifications.
Multi-monitor supportNotifications follow your mouse cursor across displays.
Click-through overlayOnly notification cards are interactive. Clicks pass through to apps underneath.
One-command installcurl | sh for macOS/Linux, PowerShell for Windows. SHA-256 checksum verification.
181 tests72 frontend + 70 Rust server + 29 CLI unit + 10 CLI integration tests.

Planned

FeatureStatusDetails
Markdown body rendering~ PlannedRender markdown in notification body text — bold, italic, code, links, lists.
Sound playback~ PlannedPlay a sound when notification arrives. Sound field is accepted today but playback is not yet implemented.
Notification grouping UI~ PlannedGroup related notifications visually. The group field is tracked today; grouped rendering is planned.
Persistent history (SQLite)~ PlannedStore notification history in a local SQLite database. Search, filter, and replay past notifications.
Linux Wayland support~ PlannedAlways-on-top overlay on Wayland compositors (currently X11 only on Linux).
Configuration file~ PlannedOptional config file for default styles, port, and behavior. Everything remains API-driven per notification.
Encrypted transport (mTLS / API keys)~ PlannedSecure the HTTP API for remote access with mutual TLS or API key authentication.
Remote notifications (tunnel / cloud relay)~ PlannedBuilt-in tunnel or cloud relay so CI/CD and remote servers can reach syncfu without manual tunnel setup.

Architecture

                           ┌──────────────────────────────────┐
                           │          syncfu (Tauri v2)        │
                           │                                   │
 HTTP POST :9868 ─────────▸│  axum server ──▸ Notification     │
                           │       │          Manager          │──emit──▸ React Overlay
 CLI (fire & forget) ─────▸│       │          (Arc shared)     │         (follows cursor)
                           │       │              │            │
 CLI (--wait) ─────────────▸│  SSE stream ◂── Waiter Registry │
                           │       │         (broadcast ch)    │
                           │       │              │            │
                           │       │         ┌────┴────┐       │
                           │       │         │ Tray    │       │
                           │       │         │ Webhook │       │
                           │       │         └─────────┘       │
                           └──────────────────────────────────┘
ComponentStack
BackendRust — axum HTTP server, SSE streams, tokio broadcast channels
FrontendReact — Zustand store, CSS animations, Lucide icons, Google Fonts
OverlayNSPanel (macOS) — non-activating, follows mouse cursor across monitors
CLIRust — fire-and-forget by default, --wait opens SSE stream
System trayTauri tray API — pause, clear, quit with confirmation

Contributing

syncfu is open source under the MIT license. Contributions welcome.

git clone https://github.com/Zackriya-Solutions/syncfu.git
cd syncfu
pnpm install
pnpm tauri dev

Prerequisites: Rust 1.75+, Node.js 18+, pnpm, Tauri v2 prerequisites.

Try syncfu today

Everything listed under “Shipped” is available now. One install command, one notification on your screen.

Get started →