Caper Chat - https://caper.chat
Use it in the browser at caper.chat, or install an app. All builds are on the latest release.
| Platform | How to install |
|---|---|
| Mac | Download the Apple Silicon or Intel .dmg, drag Caper onto Applications, then open it from Applications. |
| Windows | Download and run Setup. It installs for your user and opens Caper. |
| Linux | Download the .deb (Ubuntu 24.04 or compatible), open it in your software installer, then launch Caper from the app menu. |
| iPhone | Join the TestFlight beta and install through TestFlight. |
| Android | Join the testers group, opt in on Google Play, then install Caper from Play. No Google Play? Use the APK (it doesn't update itself). |
Desktop apps update themselves; phone apps update through TestFlight and Google Play.
- Spaces with text and voice channels, private channels and invite links (invites)
- Direct messages and notifications (notifications)
- Threads, pins, forwarding, editing and deleting messages
- File and media attachments, with an editor to crop, draw and add text (uploads)
- Link previews for X, TikTok, YouTube, Instagram and most other sites, with video playing in Caper (link embeds; live once the embed Worker is deployed)
- Voice messages with automatic transcripts (voice messages)
- GIFs and stickers from KLIPY in every composer, once the API has a KLIPY key (GIFs)
- Profile pictures and space icons (pictures)
@feedbackin any conversation to reach the Caper team (feedback)
Per-feature details, rollout state and validation gaps live in docs/media.md.
You'll need Node.js 24, npm 11+, Docker Compose, Rust 1.94, and AWS CLI access to
the staging profile.
npm ci
aws sso login --profile staging
npm run devOpen http://localhost:3000/login. Compose runs the web app, API, gateway and Valkey;
config comes from AWS Secrets Manager (staging/apps/caper), with
.env.example listing the settings.
Checks:
npm run check # lint, format check, build, typecheck
npm test # unit tests
npm run fmt # format JS/TS/CSS
cargo fmt --all -- --check
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warningsPython tooling uses uv and Ruff:
uv run --locked ruff check .
uv run --locked ruff format --check .
uv run --locked python -m unittest discover -s tests -p 'test_*.py' -v- apps/web — TanStack Start web app
- apps/api — Rust API and WebSocket gateway
- apps/native — Android, Apple and desktop clients
- shared — shared design tokens