Back to projects

Patchly: Client-side Binary Diff and Patch Tool

A 100% client-side binary diff & patch web application built with Rust compiled to WebAssembly, enabling efficient file updates by transferring only the differences instead of entire files.

Feb 2026 - Feb 2026 • Fullstack Engineer
Rust WebAssembly React
Role
Fullstack Engineer
Timeline
Feb 2026 - Feb 2026
Type
web
Status
Completed

The Challenge

Building a memory-efficient diff and patch system capable of processing large binary files directly in the browser without exhausting memory or blocking the UI thread.

The Solution

Designed a streaming Rust/WASM engine with rolling hash block indexing and COPY/INSERT delta encoding, combined with Web Workers and OPFS storage to enable fast, low-memory, fully client-side file patching.

Key Features

Generate binary patches between two file versions (COPY/INSERT delta format)
Apply patches to reconstruct updated files locally
Works with any file type (binary-level diffing)
Streaming architecture that avoids loading full files into memory
Supports GB-scale files with low memory usage
WASM-accelerated rolling hash and block matching
Two-level weak + strong hash verification to prevent collisions
Non-blocking processing using Web Workers
OPFS-based storage for efficient random access and large file handling
Fully client-side with no backend or uploads required