Free · Offline-first · No ads required

Your library.
Your devices.
Your rules.

Braidwire is a modern music player for Telegram audio, local files, podcasts, and more. It works fully offline. Optional cloud account only if you want history sync and managed extras.

Built for listening, not lock-in

Offline-first

Leave the API URL empty and everything stays on-device. Downloads, history, and playlists never require a server.

Many sources

Telegram chats, local folders, podcasts, Spotify links, Dropbox, and plugins — one library surface.

Optional cloud

Sign in with email (6-digit code) when you want scrobbles and history backed up. Install-id sync works without an account.

Managed AI (optional)

Server chat via Workers AI when enabled — no multi-gigabyte model download required for casual help.

Cloud is a convenience layer

Official builds can point at the managed API for invite unlocks, token proxies, and email sign-in. Self-hosters can deploy the same Worker with their own secrets.

  • Email OTP (Better Auth) — no password to forget
  • History pull/merge into local Drift
  • Durable Objects + D1 hybrid sync storage
POST /v1/auth/email/start
POST /v1/auth/email/verify
GET  /v1/me
POST /v1/sync/history

Open source by design

The player and managed API live in the monorepo. Self-host, fork, or run fully offline. Commercial managed hosting can fund development — the free path stays free.

Get Braidwire

Desktop and mobile builds ship from the monorepo. For development:

flutter run \
  --dart-define=BRAIDWIRE_API_URL=https://braidwire-api.gw-dev.workers.dev

Settings → Account → enter your email to receive a sign-in code.