Shubham Upadhyay

Senior Backend Architect

Open to Collaborate
Bengaluru, IN
Connect Channels
SYSTEM UTILITY / GO 2023 – Present

ClipNest

A lightweight, privacy-first clipboard daemon and glassmorphism web manager.

ClipNest is a lightweight clipboard manager for modern Linux desktops (Wayland) built in Go. It runs as a quiet systemd user daemon, stores history in a local SQLite file, includes an instant pause toggle for privacy, and serves a modern local web dashboard.

ClipNest Preview
01.

The Problem: Modern Desktops Broke the Simple Clipboard

If you write code on a modern Linux desktop, you know the clipboard situation is surprisingly painful.

On modern Wayland setups (GNOME, Sway, Hyprland), traditional X11 clipboard utilities either crash or fail to capture copy events reliably. The modern alternatives are almost always heavy Electron apps that sit in the background consuming 300 MB to 500 MB of RAM just to remember text snippets you copied ten minutes ago.

Even worse is the privacy problem. Most clipboard managers blindly capture everything—including master passwords from your password manager, temporary OTP codes, and production API tokens—saving them forever in plaintext without a quick way to pause recording.

I didn't want a bloated 500 MB Electron app, and I didn't want a tool that accidentally logs my passwords. I wanted a quiet, native Go background daemon that uses less than 15 MB of RAM, stores history in a local SQLite file, lets me pause logging when copying secrets, and provides a clean local web dashboard to search my history.

“A clipboard manager shouldn't consume more memory than the code editor you're working in, and it shouldn't log your passwords without asking.”

— Shubham Upadhyay

02.

The Core Concept: A Native Daemon with an Embedded Web UI

Instead of bundling a heavy Chromium shell with Electron, ClipNest combines a native Go background daemon with an embedded local web server. The entire application—backend logic, Wayland event loop, SQLite store, and glassmorphism interface—compiles into a single standalone binary.

Traditional Desktop Clipboard Tools

  • Packaged as heavy Electron apps consuming 300 MB to 500 MB of idle memory.
  • Blindly records passwords, auth tokens, and sensitive keys with zero privacy controls.
  • Struggles or breaks entirely on modern Linux Wayland compositors (Hyprland, Sway, GNOME).
  • Bloated installation size with hundreds of npm dependencies and background workers.

The ClipNest Way (Native Go & Local Web)

  • Single compiled Go binary running as a quiet systemd user service (~14 MB idle RAM).
  • First-class Wayland support via wl-clipboard (wl-copy, wl-paste) with modular OS hooks.
  • Built-in Privacy Manager: pause and resume recording with a single click or keyboard trigger.
  • Self-contained glassmorphism UI embedded directly in the binary, served locally on localhost:49049.
03.

How the System is Built (Architecture)

ClipNest runs as a headless Go daemon that hooks into the system clipboard, persists records to a local SQLite database, and serves an embedded web interface over a lightweight local HTTP server with zero cloud dependencies.

Desktop Environment
(Wayland / wl-clipboard)
←––→
Go Core Daemon
(Headless Background Service)
–––→
Clipboard Monitor
(Text & Image Ingestion)
Privacy Manager
(sync.RWMutex Pause Guard)
Storage & Pruning
(SQLite & Auto-Retention)
–––→
Local Interfaces & Storage
Glassmorphism UI
(http://localhost:49049)
Systemd Service
(User Graphical Session)
Local SQLite DB
(~/.local/share/clipnest)
Image Cache
(Max 25MB Thumbnails)
04.

Everyday Features: Built for Developer Workflows

ClipNest focuses on the details that make a developer tool comfortable to use every day:

Privacy & Password Safety (Privacy Manager)

Pause and resume clipboard recording instantly with a toggle. When you copy master passwords from Bitwarden or 1Password, ClipNest suspends logging so sensitive tokens never touch the database.

  • Instant Pause/Resume Toggle
  • Zero Plaintext Password Logging
  • Local-Only Storage (No Telemetry)
  • Optional Clear History on Exit

Smart Retention & Pinned Items

Never worry about your clipboard database growing to gigabytes. ClipNest automatically purges unpinned items older than 30 days or exceeding 100 entries, while keeping your starred/pinned snippets permanently accessible.

  • Automatic 30-Day Retention Pruning
  • Configurable Max History Limit
  • Star & Pin Important Snippets
  • Under 15 MB Total Database Footprint

Instant Search & Media Support

Search across thousands of copied snippets in real time. Supports both multiline code snippets and image screenshots up to 25 MB with one-click copy-back to the clipboard via wl-copy.

  • Real-Time Substring Search
  • Image & Screenshot Clipboard Support
  • One-Click Copy Back (wl-copy)
  • Dark / Light / System Theme Support
05.

Quick Project Facts & Setup Details

A summary of key technical facts, desktop integrations, and runtime details for ClipNest:

Core Language Go (Golang 1.21+)
Architecture Single standalone binary with embedded web assets (embed)
Display Protocol Linux Wayland (wl-clipboard: wl-copy, wl-paste)
Storage Embedded SQLite (~/.local/share/clipnest/clipnest.db)
Configuration ~/.config/clipnest/config.json (JSON format)
System Integration systemd user service (auto-starts on graphical login)
Memory Footprint ~12 MB – 16 MB idle RAM
License MIT License (Open Source)
06.

What I Learned Building This

Building ClipNest showed me the power of pairing a native Go background daemon with an embedded web UI. By using Go's embed package, the entire frontend (HTML, CSS, JavaScript, icons) compiles straight into the binary. The user doesn't need to run npm install, configure an HTTP server, or install Node.js—they just run the binary and open the URL.

Working with Wayland's clipboard model was another great learning experience. Unlike X11 where any window can easily sniff the global clipboard, Wayland enforces tighter security boundaries. Integrating with wl-paste in a streaming, non-blocking way while handling both UTF-8 text and binary PNG image data taught me a lot about modern Linux desktop plumbing.

Most importantly, it reinforced that small, privacy-respecting utilities make a huge difference in day-to-day work. Having a clipboard manager that doesn't eat 500 MB of RAM and gives you peace of mind when copying passwords is one of those small tools that quietly becomes indispensable.

Chat on WhatsApp
Navigating...