Built to order

Clipboard History Manager Desktop App

This project builds a desktop clipboard history manager that records everything copied — text, code, links and images — and makes it searchable, pinnable and restorable with one hotkey. History is stored in an encrypted local database with configurable retention, and an optional sync layer keeps the clipboard consistent across the student's devices. The report documents the OS clipboard hooks, storage design and encryption choices in full. Suitable for B.E./B.Tech final-year projects in Computer Science and IT.

Clipboard History Manager Desktop App — project thumbnail preview
More project photos (2)

The problem

Every computer user copies dozens of items a day and loses nearly all of them — the operating system keeps only the most recent one, so a snippet copied an hour ago is gone the moment something else is copied. Developers, writers and students feel this constantly: a terminal command, a code block, a reference link, all re-typed or re-found from scratch. A clipboard history manager solves it by listening to OS clipboard events, storing each entry with its type, source application and timestamp, and surfacing the whole history through instant search and a global hotkey. This project implements that as a real desktop application: a system-tray resident program with a searchable history window, pinning, favorites, per-type filters and AES-256 encrypted storage, plus an optional end-to-end encrypted sync channel so the clipboard follows the student across machines.

How it works

  1. On launch, the app registers OS clipboard listeners (Win32 clipboard viewer chain on Windows, NSPasteboard polling on macOS, X11 selections on Linux).
  2. Each clipboard change is captured with metadata: content type, source application, timestamp and size, then written to the encrypted SQLite store.
  3. The FTS5 index updates incrementally so search stays instant even with tens of thousands of entries.
  4. Pressing the global hotkey summons the overlay window; typing filters the history live and double-click (or Enter) pastes the chosen entry via simulated keystrokes.
  5. Pinned and favorite items are excluded from the retention sweeper, which deletes unpinned entries older than the configured window.
  6. When sync is enabled, new entries are encrypted with the device key and pushed to the sync relay; other devices pull, decrypt and merge them by timestamp.

Tech stack:

  • Python 3
  • PyQt6 · Qt (desktop UI)
  • SQLite · FTS5 (indexed storage)
  • cryptography · Argon2id (encryption)
  • pynput (hotkeys & paste simulation)
  • PyInstaller (packaging)
Parameter Value
Platforms Windows 10/11, macOS 13+, Ubuntu 22.04+ (expected)
Storage SQLite, AES-256 at rest (design target)
Search index FTS5 full-text, incremental updates
Hotkey Ctrl+Shift+V (configurable)
Retention 7–90 days, user configurable
Sync Optional, end-to-end encrypted relay
Memory footprint Approximately 60–90 MB resident (expected)
Packaging Single-file installer per OS

Project features

  • [System-wide clipboard monitoring] A background listener captures text, code, links and images from any application the moment they are copied, with negligible CPU overhead.
  • [Instant full-text search] Every entry is indexed in SQLite with FTS5, so searching thousands of items returns results as you type.
  • [Pinning and favorites] Frequently reused snippets can be pinned to the top or starred, surviving retention cleanup and staying one hotkey away.
  • [Global hotkey paste] Pressing Ctrl+Shift+V anywhere opens the history overlay; double-clicking an entry pastes it into the active window.
  • [AES-256 encrypted storage] The local database is encrypted at rest with a key derived via Argon2id, so copied passwords and tokens stay protected.
  • [Cross-device sync] An optional sync service replicates the clipboard over an encrypted channel, with conflict handling when two devices copy simultaneously.
  • [Per-type filters and retention] Separate views for text, code, links and images, plus configurable retention (7–90 days) with automatic cleanup of unpinned items.

What is included

  • Complete desktop application source code
  • Installers for Windows, macOS and Linux
  • User manual (features, hotkeys, settings)
  • Project report PDF (clipboard internals, storage and encryption design, sync protocol)
  • PPT presentation for final review
  • Viva Q&A preparation document (OS clipboard APIs, FTS indexing, Argon2id, E2E sync)

Limitations & prerequisites

  • Clipboard formats beyond text/HTML/image (e.g. proprietary app objects) are stored as plain text fallbacks.
  • Sync needs both devices online at least once; there is no real-time push when a device is offline.
  • Very large copied images (above ~25 MB) are stored as thumbnails with a size note to bound database growth.
  • Paste simulation can be blocked by elevated/admin windows on Windows — a documented OS restriction, not an app bug.
  • The macOS build needs accessibility permission granted manually on first run.
  • Password-manager "clear clipboard after N seconds" behavior is respected and such entries are never stored.

Frequently Asked Questions

How does the app see what I copy?

It uses each OS's official clipboard notification mechanism — the clipboard viewer chain on Windows, NSPasteboard change notifications on macOS, and X11 selection events on Linux. No screen scraping or keylogging is involved.

Is my copied data safe?

Yes. The database is encrypted with AES-256, the key is derived from your master password with Argon2id, and sync traffic is end-to-end encrypted — the relay server only sees ciphertext.

How fast is search with a large history?

SQLite FTS5 indexes every entry incrementally, so even tens of thousands of items filter as you type; the demo ships with a generator script so you can verify this yourself.

Can it sync between my laptop and desktop?

Yes, via the optional sync relay. Entries are encrypted on-device before upload, merged by timestamp on download, and conflicts resolve to the newest copy with the older kept in history.

Does it slow down my computer?

The monitor is event-driven, not polling (except on X11), and idles at near-zero CPU; expected resident memory is approximately 60–90 MB.

Is this project suitable for a final-year project?

Yes — for Computer Science and IT programs. It covers OS-level APIs, database indexing, applied cryptography and a real shipped desktop product with an installer. Suitable for B.E./B.Tech final-year projects in Computer Science and IT.

Components & software requirements
  • Python 3
  • PyQt6 · Qt (desktop UI)
  • SQLite · FTS5 (indexed storage)
  • cryptography · Argon2id (encryption)
  • pynput (hotkeys & paste simulation)
  • PyInstaller (packaging)
Delivery information

Built-to-order project. Delivery timeline is shared after order confirmation based on current queue.

Support terms

Complete documentation, setup guide, and viva preparation included. Support for setup and explanation provided.

Download abstract (PDF)

Related guides

All guides
Illustration of JWT authentication: a brass key handing a glowing sealed token to a server rack and a laptop login screen, linked by a chain motif.B.E./B.Tech Computer Science and IT students adding login and protected APIs to their final-year web projects

JWT Authentication for Students: Tokens, Signatures, Refresh Flows and a Node.js Implementation

How does JWT login actually work? When a user logs in, the server issues a signed token in three parts — header, payload, signature. The client sends it back as an Authorization: Bearer header, and the server verifies the signature instead of looking up a session. This guide decodes a real token by hand, walks through the full login and refresh flow, and builds a working Node.js implementation with bcrypt password hashing, token rotation, and storage rules that survive a viva.

Read guide
Illustration of SQL versus NoSQL: neat filing-cabinet table rows on one side against flexible nested document cards on the other, joined by dotted lines.B.E./B.Tech Computer Science and IT students choosing and designing the database for their final-year project

SQL vs NoSQL for Final-Year Projects: Which Database Should You Pick?

MySQL or MongoDB for your final-year project? SQL databases store data in related tables with enforced schemas, joins and transactions — the right default when your data is structured and money or records must stay consistent. NoSQL document stores trade the rigid schema for flexible, nested documents that ship faster when your data shape keeps changing. This guide compares them with a worked hospital-appointment example in both, a decision table, and rules matched to common project archetypes.

Read guide
Editorial illustration of shipping containers transforming into glowing software windows beside a laptop showing container layers, in blue and teal tones.B.E./B.Tech Computer Science and IT final-year students shipping web/backend projects

Docker for Student Projects: Images, Containers and Compose from Zero

End ‘it works on my machine’ failures: learn what Docker images and containers actually are, write lean Dockerfiles that exploit layer caching, persist data with volumes, orchestrate app-plus-database with Compose, and package an evaluator-proof submission — with the debugging table for every error you will definitely meet.

Read guide
Get a quotation