Project / AI writing keyboard

Open Keyboard + LLM Gateway

An iPhone keyboard for AI writing help, connected to a gateway you can run yourself. The keyboard handles the writing experience. The gateway controls where AI requests go, which models are available, and who is allowed to use them.

Open Keyboard app icon
iOS Keyboard Fix Grammar · Rewrite · Summarize
LLM Gateway Keys · Models · Limits · Logs

What it is

A keyboard app plus a server you control.

Open Keyboard

This is the iPhone keyboard. You can type normally, and when you need help, you can ask it to fix grammar, rewrite text, or summarize what you wrote.

LLM Gateway

This is the small server behind the keyboard. It checks the app key, shows available AI models, limits usage, and sends the request to the AI model you choose.

Privacy & control

You choose where your AI writing requests go.

A keyboard can see sensitive text: messages, notes, searches, addresses, and work drafts. Open Keyboard is designed so normal typing stays on the device. Text is sent out only when you choose an AI action, and it goes to the gateway you set up.

Normal typing stays local

The keyboard does not need the internet for everyday typing.

AI runs by choice

Text is sent only when you tap an AI action like Fix Grammar, Rewrite, or Summarize.

You control the gateway

You decide whether the gateway uses a local model, a private server, or a hosted AI provider.

If you connect the gateway to a cloud AI provider, that provider may receive the text used for that AI action. The important difference is that the choice is yours, not hidden inside the keyboard app.

How it works

The keyboard talks to your gateway, and the gateway talks to the AI model.

1Open Keyboard

User taps an AI action inside the keyboard.

2LLM Gateway

Checks the app key and applies usage limits.

3AI model

Runs the writing request and returns the result.

GET /health GET /v1/models POST /v1/chat/completions Authorization: Bearer sk-...

Gateway setup

Basic setup flow.

1

Start the gateway

Run the small server that connects the keyboard to your chosen AI model.

2

Protect the admin page

Set your own admin password and secret before you open the gateway to anyone else.

3

Create an app key

Make an API key for the keyboard, then choose which models it can use and how many requests it can send.

4

Connect the keyboard

Enter the gateway URL and API key in Open Keyboard, then test the connection.

5

Enable the iOS keyboard

Turn on Open Keyboard in iOS Settings. Full Access is needed only for AI actions that call your gateway.

6

Use the writing tools

Choose Fix Grammar, Rewrite, or Summarize from the keyboard. Normal typing stays local.

Current progress

Complete working prototype with focused improvements underway.

Working prototype

  • Gateway URL and API key setup in the iOS app.
  • Connection testing and model discovery from the configured gateway.
  • Keyboard writing actions for grammar correction, rewrite, and summarization.
  • Gateway admin workflows for creating and managing client keys.
  • Per-key usage limits for controlled AI access.

Next improvements

  • Broader real-device validation and keyboard experience polish.
  • Expanded handling for selected text and longer paragraphs.
  • Clearer user guidance for offline, quota, and invalid-key states.
  • Public setup guidance for running the gateway outside a local development environment.
  • Continued quality and latency checks across local and hosted AI models.

OpenKeyboard simulator

iPhone keyboard workflow in action.

Open Keyboard host app showing gateway ready status, configured model, and API key status.
Gateway-ready app state Host app state showing verified gateway configuration, selected model, and API key setup.
Open Keyboard playground showing a text field and custom keyboard extension ready for AI writing actions.
Keyboard playground Real text field using the custom keyboard extension before running grammar correction.
Open Keyboard grammar review showing a subject-verb agreement correction suggestion.
Grammar review Correction review flow with issue count, replacement suggestion, and accept or dismiss controls.
Open Keyboard Improve workflow showing an AI-generated writing suggestion and action controls.
AI writing action Improve workflow showing generated text, action options, and explicit accept controls.

Gateway interface

Admin controls and live request testing.

LLM Gateway API key management screen showing active client keys, models, rate limits, and admin actions.
Client key management Admin view for active keys, assigned models, per-key rate limits, and operational actions.
LLM Gateway playground screen showing a structured OpenKeyboard rewrite request and successful model response.
Live gateway playground Key tester flow for validating structured OpenKeyboard writing operations against the configured model backend.

Verification

The main pieces are tested.

iOS keyboard core tests

iOS app and keyboard build

Gateway build

Gateway automated tests

Secret scan

Browser test for admin key changes and rate limits

Code

GitHub repositories.