# rafpost

Write calm. Post fast. A small macOS window that opens to a blank page and sends your post where it needs to go. No feed, no tabs left open — type the post, pick the channels, press Enter, and you're back to what you were doing.

## Features

- **Opens to a Blank Page:** The window opens straight into a focused text field you can type into immediately. No placeholder, no chrome, no grid — spellcheck and autocorrect off by design.
- **Live Character Counter:** A single number counts down from 280, warms in color near the limit, and turns red past it — highlighting exactly which characters are over.
- **Automatic Thread Splitting:** When over-limit text can be split safely, rafpost previews the thread and publishes it as one X or Threads thread, up to five posts.
- **Summon From Anywhere:** A global shortcut centers the window on whichever monitor your cursor is on, shows and focuses it. Press again and it's gone.
- **Publish in One Keystroke:** ⌘P picks the platforms, ⌘⇧D opens the publish confirmation with Publish as the default action, and ⌘K reaches everything else.
- **Buffer Connection:** Connects to Buffer with a personal API key stored on disk and used only from the Rust side. Platforms without a connected channel are greyed out.
- **Local Publish History:** Every successful publish is stored locally in SQLite — text, platform, time, post id and image thumbnails. Nothing leaves your Mac except the post itself.
- **Signed Auto-Updates:** Ships with minisign-signed updater artifacts and a live update endpoint, so installed copies update themselves in place.

## Technology

Tauri v2, Rust, React 19, TypeScript, Vite, Tailwind CSS, rusqlite (SQLite), Buffer API, Astro (landing), Ruby on Rails (panel)
