A practical guide

Useful writing help,
without a cloud detour.

Keyline is designed around one small action: select text where you already type, choose a focused transform, review the editable result, and decide whether to insert it. This guide describes the boundaries that make that action private and predictable.

The four-step flow

  1. Select. Highlight the sentence or paragraph in the host app. Keyline receives the selected text only for the transform you request.
  2. Choose. Pick Fix, Rewrite, Shorter, Tone, Translate, or Custom. The action name tells you what kind of result to expect.
  3. Review. The result is editable. Read it in context; a local model can still misunderstand a name, a technical term, a joke, or your intent.
  4. Decide. Insert the result, edit it first, or discard it. Keyline does not replace text automatically and does not send a copy to a cloud service.

The original text remains in the host editor until you choose an action. If the model is unavailable, ordinary keyboard input should continue to work without AI.

What an Android keyboard can access

An input method is a powerful piece of software, so the boundary must be explicit. Keyline needs the Android controls shown when you enable a keyboard. Those controls are not a secret shortcut around the operating system.

For a requested transform, the host editor supplies the selected text and Keyline returns an editable result. The intended local path does not require an account, a web view, a chat session, contact syncing, or a remote inference request. Keyline does not promise that every app exposes selection in the same way; an app may provide no selected text or may apply its own clipboard behavior.

Inserted text belongs to the host app after you put it there. Review the privacy policy and settings of that app as well. A local keyboard can reduce one path for text to leave your phone, but it cannot rewrite the policies of other apps.

The model is a file on your phone

The first beta model is an explicitly downloaded, quantized artifact of approximately 1.5 GB installed size. That is a real storage cost, not a footnote. Setup should show the size before download and should let you cancel or retry without making the keyboard unusable.

Download on Wi-Fi if you want to avoid using mobile data. When the model is absent, the keyboard remains available for ordinary typing and its non-AI features. When you delete the model, you reclaim its storage and disable the transforms until you download it again.

Local does not mean weightless. Inference uses the phone's processor and may use more battery or make the device warm. Keyline does not promise a fixed duration, battery percentage, or performance number because those depend on the model, the request, the device, and its thermal state.

What each action is for

Fix
Corrects likely spelling, grammar, punctuation, or obvious wording issues while keeping the meaning and approximate tone.
Rewrite
Offers a clearer version of the selected passage. Read it carefully: clarity is not the same thing as preserving every nuance.
Shorter
Compresses the passage while keeping its main point. It may remove examples or qualifiers, so compare before inserting.
Tone
Adjusts the requested voice, such as more direct or more warm. Tone is subjective; the result is a draft, not a verdict.
Translate
Is limited to English ↔ French after both directions pass testing. Unsupported languages should be rejected clearly instead of guessed silently.
Custom
Accepts a short instruction for a constrained writing task. It is not general chat, document analysis, or an invitation to paste secrets into a prompt.

Review is part of the feature

A local model can produce a fluent wrong answer. Check names, dates, quantities, links, legal wording, medical wording, and anything where a small change matters. Keyline is meant to help you draft; it is not a source of truth and it does not certify the result.

Keep the scope small. One sentence or paragraph gives you a result you can compare with the original. If an instruction is ambiguous, make it more specific or do the edit yourself. If the result is not useful, discard it and keep typing.

There is no hidden cloud fallback when a local result is slow or unavailable. That trade-off is intentional: the network boundary should not change just because the convenient path failed.

What is retained

Selected and generated text are intended to live in process memory for the request and be cleared after the request and when the keyboard process shuts down, unless you explicitly copy or insert the result. Optional diagnostics are metadata-only by default; source and generated text are not retained by default.

This waitlist page follows the same minimization principle. It stores consent, source, timestamp, and a short email hash locally; it does not send an email body to a mailing service. You can download a portable JSON copy if you want to keep or restore that request.

Before release, the beta notes will identify the exact model artifact and hash, supported Android range, requested permissions, open-source notices, licenses, and known device limitations. Details that depend on a tested build are not invented here.

When the normal path fails

No selected text: return to the host editor and select a sentence or paragraph. Keyline should explain what it needs rather than show an empty result.

Model missing: ordinary typing remains available. Follow the setup prompt to download the model, or continue without AI.

Download interrupted: check storage and connection, then retry. A cancelled or failed download should be visible and should not be treated as ready.

Unsupported language: use an English input for the first five actions, or English/French for Translate after support is verified. A clear rejection is safer than a confident-looking guess.

Phone is hot or low on battery: stop using inference and keep typing without AI. The local boundary does not require you to trade control for convenience.

Want a launch note?

Keyline is a focused beta hypothesis, not a released keyboard. Join the waitlist to hear when there is a tested build and a real next step.

Join the beta waitlist