← back

the duet

Ensemble

A native SwiftUI app for macOS and iOS for writing books together with AI. Your manuscript on the left, an assistant in the margin on the right — and every book is just a plain folder of Markdown files.

SwiftUI macOS + iOS Markdown on-device AI

Writing a book is long and lonely. Ensemble puts a writing partner in the margin: a right-hand assistant panel that offers inline completion while you draft, a chat for thinking out loud, a developmental-editor pass over whole chapters, and simulated reader reviews when you want to know how the story lands.

There is no proprietary format and no lock-in. A book is a folder — Chapters, Notes, Chat logs, Editor and Review reports, timestamped Backups — of ordinary Markdown files, living in iCloud Drive or locally. It will still open in anything, ten years from now.

You choose the brain. Apple Intelligence runs on-device by default with no setup and no network calls; a one-click managed mlx-lm server runs larger models locally on macOS; or plug in Anthropic, OpenAI, Gemini, or OpenRouter — with keys saved straight to the Keychain and never written to disk.

highlights

files

plain Markdown folders

Books are folders, not packages — readable in Finder, syncable via iCloud Drive, and yours no matter what happens to the app.

assist

four ways to help

Complete finishes your sentence, Chat talks it through, Edit runs a developmental pass, Review simulates readers reacting to the draft.

backends

three kinds of brains

Apple Intelligence on-device, a self-managed local mlx-lm server, or the cloud provider of your choice — one active at a time.

privacy

Keychain-only secrets

API keys are saved straight to the Keychain — never to disk, UserDefaults, iCloud KVS, or exports and backups.

native

zero dependencies

No SPM or CocoaPods packages at all. One multiplatform target, generated from a single project.yml with XcodeGen.

safety

backups built in

Every book can mirror itself into timestamped backups — chapters, notes, chat logs, and settings, all as plain files.

under the hood