SyncVault is a production-ready, serverless personal cloud clipboard and snapshot synchronization platform. Built entirely on the Cloudflare ecosystem, it provides instant cross-device synchronization for text, snapshots, and block-based notes.
- Real-time Synchronization: Powered by Cloudflare Durable Objects and WebSockets for sub-second updates across all your devices.
- Cross-Platform Support: Works seamlessly on Android, Windows, Linux, macOS, and as an installable PWA.
- Snapshot Capture: Direct camera integration and image upload with cloud archiving.
- Block-Based Notes: A modern, Notion-style editor for organized note-taking.
- Secure by Default: JWT-based authentication with secure session management and access/refresh tokens.
- Cloud Archiving: Automatic retention management using Cloudflare R2 and D1.
- Global Search: Instant search across your entire clipboard history, snapshots, and notes.
SyncVault leverages a modern serverless architecture:
- Frontend: React SPA hosted on Cloudflare Pages.
- Backend: Cloudflare Workers handling RESTful API requests.
- Real-time: Cloudflare Durable Objects managing stateful WebSocket connections.
- Database: Cloudflare D1 for relational metadata.
- Storage: Cloudflare R2 for binary snapshot data.
Read more about the architecture →
- Node.js v18+
- A Cloudflare account
- Clone the repository:
git clone https://github.com/your-repo/SyncVault-public.git cd SyncVault-public - Run the automated setup:
npm run setup
- Initialize the local database:
cd worker npm run db:migrate npm run db:seed - Start the development environment:
npm run dev
The frontend will be available at http://localhost:5173 and the API at http://localhost:8787.
- Cloudflare Setup Guide - Step-by-step instructions for production deployment.
- Deployment Guide - Detailed local and production deployment workflows.
- Development Guide - Repository structure, commands, and migration workflows.
- Environment Variables - Full list of configuration options.
- Architecture Overview - Technical deep-dive into how SyncVault works.
- Frontend: React, Vite, Tailwind CSS, Lucide Icons.
- Backend: Cloudflare Workers, Durable Objects.
- Database: Cloudflare D1 (SQLite).
- Storage: Cloudflare R2 (S3-compatible).
- Hosting: Cloudflare Pages.
- OCR Integration: Extract text from snapshots automatically.
- End-to-End Encryption: Client-side encryption for all synced data.
- File Sync: Support for generic file uploads (PDF, ZIP, etc.).
- Offline Mode: Local-first synchronization with IndexedDB.
- Sharing: Securely share clips or notes with other users.
Contributions are welcome! Please see the Development Guide to get started.
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git checkout -b feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.