Roadmap
What's shipped and what's coming next. syncfu is actively developed with a public roadmap.
Shipped
| Feature | Details |
|---|---|
| Core overlay + system tray | Always-on-top overlay window with slide-in/out animations. System tray with pause, clear all, and quit. |
| NSPanel on macOS | Non-activating native panel that joins all Spaces. Does not steal focus from your current application. |
| Liquid Glass design | 9-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 flag | syncfu send/update/dismiss/list/health.--wait blocks until user responds via SSE. |
| Action buttons + webhooks | Up to 3 buttons per notification. Per-button icon, color, and border customization. Webhook callback on click. |
| Live progress bars | Bar and ring styles. Update in-place via POST. Custom label text. Animated transitions. |
| 27 style properties | Per-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 Fonts | Load any Google Font on demand per notification. |
| Light/dark theme | Auto-follows system theme. Per-notification override with theme field. |
| Auto-dismiss with countdown | Visual countdown bar. Pauses on hover. Priority-based default timeouts. |
| Critical pulsing glow | Siri-style pulsing border animation for critical-priority notifications. |
| Multi-monitor support | Notifications follow your mouse cursor across displays. |
| Click-through overlay | Only notification cards are interactive. Clicks pass through to apps underneath. |
| One-command install | curl | sh for macOS/Linux, PowerShell for Windows. SHA-256 checksum verification. |
| 181 tests | 72 frontend + 70 Rust server + 29 CLI unit + 10 CLI integration tests. |
Planned
| Feature | Status | Details |
|---|---|---|
| Markdown body rendering | ~ Planned | Render markdown in notification body text — bold, italic, code, links, lists. |
| Sound playback | ~ Planned | Play a sound when notification arrives. Sound field is accepted today but playback is not yet implemented. |
| Notification grouping UI | ~ Planned | Group related notifications visually. The group field is tracked today; grouped rendering is planned. |
| Persistent history (SQLite) | ~ Planned | Store notification history in a local SQLite database. Search, filter, and replay past notifications. |
| Linux Wayland support | ~ Planned | Always-on-top overlay on Wayland compositors (currently X11 only on Linux). |
| Configuration file | ~ Planned | Optional config file for default styles, port, and behavior. Everything remains API-driven per notification. |
| Encrypted transport (mTLS / API keys) | ~ Planned | Secure the HTTP API for remote access with mutual TLS or API key authentication. |
| Remote notifications (tunnel / cloud relay) | ~ Planned | Built-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 │ │
│ │ └─────────┘ │
└──────────────────────────────────┘| Component | Stack |
|---|---|
| Backend | Rust — axum HTTP server, SSE streams, tokio broadcast channels |
| Frontend | React — Zustand store, CSS animations, Lucide icons, Google Fonts |
| Overlay | NSPanel (macOS) — non-activating, follows mouse cursor across monitors |
| CLI | Rust — fire-and-forget by default, --wait opens SSE stream |
| System tray | Tauri 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 →