Cordy for Mobile

A private, local-first, bring-your-own-key AI chat app for Android and iOS.

Cordy for Mobile (the app brands itself CordyAI) is a private, local-first AI chat client for Android and iOS. You bring your own provider API key, chat directly with the model, and everything you say stays on your device. There is no Cordy account, no cloud sync, and no telemetry.

It is built with Kotlin Multiplatform and Compose Multiplatform, so the Android and iOS apps share one core.

What makes it different

Bring your own key, direct to the provider

Cordy is BYOK (bring-your-own-key). You paste an API key from a provider you already use, and Cordy sends your prompts straight from your device to that provider over HTTPS. No Cordy server sits in the path — there is nothing in the middle to log, meter, or inspect your traffic. When you send a message, the only party that receives it is the provider you selected.

Local-first storage

Your data lives on the phone:

  • Conversations are stored in an on-device SQLDelight (SQLite) database.
  • API keys are stored in the platform secure store — the Android Keystore (AES-256-GCM) or the iOS Keychain.
  • Settings are ordinary on-device preferences.

Nothing is mirrored to a server, and there is no account to create.

Private by default

No account. No cloud sync. No analytics, telemetry, or payload capture. In release builds, logging is capped so that verbose logs which could carry prompt or request detail never reach the device console. When you want a clean slate, a single action erases every local trace.

Who it's for

Cordy for Mobile is for people who want a calm, dependable daily AI chat on their phone without handing their whole workflow to a managed cloud product:

  • The privacy-minded daily user — you want conversations and keys to stay on your own device, and you want to see plainly where your prompts go.
  • The cost-conscious tinkerer — you want to switch models freely and know what each request costs before and after you send it.
  • The developer — the bring-your-own-key setup gives you direct, provider-neutral access to OpenRouter, OpenAI, Anthropic, and any OpenAI-compatible endpoint, including a self-hosted model server on your own machine or LAN.

You don't have to be a developer to use it, but there's enough control here to satisfy one.

Feature highlights

  • Streaming chat with live Markdown rendering (headings, lists, tables, code).
  • Extended thinking / reasoning shown as a distinct block on capable models.
  • Conversation library — create, resume, rename, delete, and search your local history.
  • Message actions — copy, stop, regenerate, edit-last-and-regenerate, and retry.
  • Image input (Android) — from the gallery, the camera, or shared in from another app, gated to vision-capable models.
  • Voice input (Android) — dictate a prompt into editable text.
  • Markdown export through the system share sheet.
  • Usage & cost analytics — token counts and cost, per model / provider / day.
  • A live model catalog with pricing, fetched per provider and cached on device.
  • One-tap erase of every local boundary (database, preferences, keys, attachments, caches).

See Features for the full walkthrough.

Platform status

Cordy for Mobile is v0.5, in closed beta. Be honest with your expectations:

PlatformStatusWhat that means
AndroidFully verifiedEvery feature in these docs is built and tested on Android. This is the platform to use today.
iOSIn progressThe iOS target compiles against the shared code, but it has not yet been smoke-tested on a device, and mobile capture (image picker, camera, and voice input) is not yet wired on iOS. Treat it as preview-quality.

The Privacy & security page carries the full, honest platform note, and the FAQ answers "is iOS available yet?" directly.

Where to go next