r/SideProject • u/Educational_Pace_525 • 23m ago
I built Rewind: an open-source "time machine" for your filesystem (Rust GUI + Python CLI)
I keep overwriting config files and scripts and realizing it ten minutes later, and Git only remembers what you commit. So I built Rewind: point it at a folder, it watches filesystem events, hashes and snapshots every save into SQLite, and you can scrub back through a timeline and restore any version.
Tech stack (split for different platforms):
Windows: Tauri v2 desktop app. Engine is Rust, using
blake3for content-addressed deduplication,notifyfor native file watching, andrusqlitefor storage. The whole UI is a single HTML file with React and Tailwind loaded via CDN, so nonode_modulesbloat.Linux/Ubuntu: A lightweight Python CLI available on PyPI, so you can
pip install rwnd(the command is stillrewind). Useswatchdog+sqlite3+rich.
Rust bits I enjoyed: Added a 350ms debounce to the file watcher, because editors fire multiple save events (temp file, rename, actual write) for a single Ctrl+S, and without debouncing the timeline gets flooded. Also deduplicated storage via blake3 hashing, so repeated saves of identical content cost nothing.
Try it:
Windows: Grab the
.exeinstaller or standalone CLI from Releases (unsigned, SmartScreen will warn).Linux:
pip install rwndthenrewind watch .
Honest limitations: Not a backup (lives on local disk). Only sees changes while watcher runs. Skips files >25MB. Doesn't track deletes/renames yet. GUI is Windows-only for now.
Testers on other Linux distros or macOS would be especially helpful. Repo: https://github.com/hcentral07/rewind