Riff
Quickly save, organize, and find your thoughts, links, and code.
We couldn't detect your local config.js file. This file contains your secure Convex Cloud URL and is hidden from visitors to keep it private.
To get started:
const CONVEX_URL = "https://...";
Your config.js is already configured in .gitignore to keep it secure and hidden from public visitors.
Securely save, sync, and organize your ideas.
Don't have an account?
Already have an account?
You are about to enter **Guest Mode**. ⚠️ Important Notice: Your snippets and categories will be stored **only on this device (locally)** and **will NOT sync** to other devices. If you clear your browser history or change browsers, your data will be permanently deleted.
Create a new cloud account or merge your local guest snippets and categories with an existing profile.
Enter your registered email address. We will send a secure password reset link to your inbox via Brevo SMTP mail delivery.
This action is permanent and completely deletes all of your **snippets, custom categories, active session tokens, and profile data** from Convex database servers. We cannot restore this data!
Authorized for:
As the authenticated owner of the specific verification link, you can directly update credentials or modify your email address without requiring old passwords.
Riff is a lightweight, context-aware engineering sanctuary crafted by **Sonata Interactive**. Store your vital code segments, bookmarks, configuration blocks, and credentials with ultra-reactive cloud synchronizations or running in a 100% private, local client-side sandbox.
// Connecting to Sonata Interactive cloud node...
Connected to Convex Serverless DB.
active_session: salt_hashed_token_valid
// 7-Day Trash Pile Safety Indicator
const sevenDaysAgo = Date.now() - 7 * 24 * 60 * 60 * 1000;
const expiredTrash = snippets.filter(s => s.isDeleted && s.deletedAt < sevenDaysAgo);
console.log(`Auto-cleaned: ${expiredTrash.length} expired fragments.`);
Status: All Systems Reactive
Traditional productivity tools capture your keystrokes, sell your usage metrics, and enforce severe sync caps unless you upgrade to monthly subscriptions. Riff is built by Sonata Interactive to restore your absolute autonomy.
Powered by ES6 vanilla scripts and a local IndexedDB sandbox. Fast instant rendering and offline backup fallbacks.
Zero server logging in local sandbox. Your snippets and categories belong 100% to you and reside strictly in your browser cache.
Equipped with a 7-day Trash Pile. Restores accidental purges instantly, safeguarding you from developer coding slip-ups.
Completely free of charge, with 1-click full JSON backup data exporting to guarantee zero customer lock-in.
When you join the Cloud workspace, Riff hooks into a serverless Convex backend engine. It listens reactively via persistent query connections: if you alter a fragment on your laptop, it syncs instantly across your mobile browser and office workstation in milliseconds. Powered by salt/hashed sessions for absolute safety.
No cloud accounts, zero registration, and zero data tracking. Guest Mode keeps all categories and snippet items strictly inside your browser sandbox (localStorage). Perfect for internal developer testing, technical API keys storage, or offline operations. You can migrate your local data to Convex cloud anytime.
Deleting a crucial fragment or script can set your deployment back by hours. Riff safeguards you by moving snippets into a soft-deleted "Trash Pile" state instead of clearing them immediately. Deleted data is held securely in the Trash tab for exactly 7 days before auto-purging.
Capture complex layouts in style. Our WYSIWYG editor has been upgraded with dynamic button active highlighting (Bold, Italic, lists, bullets, headings) that lights up based on cursor selections. Features code block templates, custom typography selects, and inline sharp tables.
| Metric Parameters | Riff Plan (Sonata) | Paid Competitors |
|---|---|---|
| Keystroke Logging | ZERO (Completely Localized) | YES (Constantly Telemetred) |
| Accidental Loss Protection | YES (7-Day Trash Pile Vault) | NO (Permanent Instant Wipes) |
| Multi-Device Sync Rate | Realtime Reactive (Convex) | Periodic (Requires Pro) |
| Monthly Licensing Fee | $0.00 (100% Free Forever) | $4.00 - $12.00 / month |
| Local Isolation (Offline) | YES (Fully Sandboxed Guest Mode) | Online Account Required |
// Riff System Core Dependencies & Pillars
Backend Hosting Node:
Convex Cloud Serverless DB Engine (Highly Reactive WebSockets)
Client Sandbox Architecture:
HTML5 Semantic DOM API + ES6 Vanilla Javascript (Zero Bloat Frameworks)
Offline Caching Node:
PWA Service Workers (sw.js) + IndexedDB Local Fallback Vaults
Session Cryptography System:
Cryptographically Signed salt-hashed Convex Token Handlers
Riff leverages Convex serverless cloud infrastructures. All requests require authenticating tokens. Login sessions are secured using salt-hashed passwords, cryptographically verification links, and a real-time active session dashboard allowing you to revoke older sessions or devices immediately with zero traces.
When choosing Guest Mode, the application sets a `snipvault_guest_mode` storage flag. Your browser operates entirely in local cache sandbox. No cloud queries are made, preventing any server telemetry logs. Be aware that clearing browser caches will erase guest records, so export backups often!
Upon deleting a snippet, the mutation/local handler sets `isDeleted: true` and `deletedAt: Date.now()`. Active dashboards exclude deleted fragments. When loading active databases, a background mutation checks for fragments where `deletedAt` is older than 7 days, purging them permanently.
Yes! Inside Riff, guest users see a persistent "Sync to Cloud" CTA button. Logging in or creating an account automatically triggers our migration routines, merging all guest Categories and Snippets seamlessly into your secure database.
Riff © Sonata Interactive