Adding your first item
After onboarding you land in Inbox — the default bin. Everything below works from any bin; pick one in the sidebar first if you want items somewhere other than Inbox.
INSERT SCREENSHOT HERE — Main feed with the composer at the bottom and Inbox selected in the sidebar.
Three ways to add something
Section titled “Three ways to add something”1. Type in the composer
Section titled “1. Type in the composer”The text box at the bottom of the feed is the fastest path for URLs, notes, and code.
- Click in the composer (placeholder: Drop anything into “Inbox”…).
- Start typing. A small badge appears when the app detects link, code, or text:
- Link — starts with
http://,https://, or looks like a domain (example.com/…). - Code — contains braces or semicolons in a short snippet (heuristic, not a full parser).
- Text — everything else.
- Link — starts with
- Press Enter (desktop) or tap send (mobile). On desktop you can also use ⌘Enter / Ctrl+Enter.
Links are saved with a placeholder title (New link) and description (Fetching preview…). Open Graph fetching is not wired up yet — edit the item later if you want a nicer title.
The composer toolbar currently exposes one button: Paste from clipboard (reads plain text into the field). Upload, mic, and password buttons from early mockups are not in the alpha UI yet.
2. Paste from anywhere on the page
Section titled “2. Paste from anywhere on the page”When you paste (⌘V / Ctrl+V) outside an input, SyncBins may show a clipboard hint — a banner offering to save what you copied as an item.
Detection rules (client-side only):
| Clipboard content | Saved as | Notes |
|---|---|---|
http(s)://… or www.… URL | link | Single line, no spaces |
| 12–64 char token with upper, lower, digit, symbol | password | Service defaults to “Pasted credential” |
Text with ≥3% {/} characters | code | Label snippet, lang txt |
| Image file in clipboard | image | Metadata only until blob upload completes |
| Other text | text | Full string preserved |
Accept the hint to drop the item into the active bin (or Inbox if you’re on Everything).
INSERT SCREENSHOT HERE — Clipboard hint banner above the feed.
3. Drag and drop files
Section titled “3. Drag and drop files”Drag one or more files onto the feed window.
- Images (
image/*) →imageitems with filename as label. - Everything else →
fileitems with name, human-readable size, and extension askind.
Large files are encrypted locally and uploaded via the blob flow (see Content types → blobs).
INSERT SCREENSHOT HERE — Drag overlay while dragging a file onto the window.
What happens when you send
Section titled “What happens when you send”- The browser picks a random item key, encrypts the payload with XChaCha20-Poly1305, and wraps that key for every paired device.
- The ciphertext goes to
POST /api/items(or blob storage first for large payloads). - The server assigns a monotonic version and fans the item out over WebSocket to your other devices.
- Other devices decrypt and show the item in the feed — usually within a second if they’re online.
While the request is in flight you’ll see a syncing indicator on the row. If it fails, an error appears above the composer; the optimistic row may roll back.
New accounts start with Inbox. Create more bins from the + button in the sidebar (New bin modal: name, emoji, hue, soft capacity).
The Everything view at the top of the sidebar shows all non-deleted items across bins, sorted by time. Search (⌘K / Ctrl+K, or click the sidebar search field) runs entirely on-device over decrypted payloads — the server never sees your query.
All ten types
Section titled “All ten types”The composer and clipboard paths only auto-create link, code, text, password, image, and file today. The server and UI also support note, video, audio, contact, and location — those need to be created through other flows (or MCP/API) until dedicated UI lands.
See Content types for every payload shape.
Troubleshooting
Section titled “Troubleshooting”| Problem | What to do |
|---|---|
| Item stuck on “syncing” | Check Settings → Server (green?). Self-host: curl …/api/health. |
| Other device doesn’t show it | Confirm both devices are paired and online. Check WebSocket in browser devtools. |
| Can’t decrypt on new device | Existing devices re-wrap items for new pairings in the background; wait a minute and refresh. |
| Paste hint never appears | Browser blocked clipboard read — use the composer paste button or type manually. |