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 state

Working prototype, not a finished product yet.

Working now

  • Add a gateway URL and API key in the iOS app.
  • Test the connection and load available models.
  • Keyboard actions for Fix Grammar, Rewrite, and Summarize.
  • Gateway admin page for creating and managing keys.
  • Usage limits for each app key.

Still needed

  • More real-device testing.
  • Better handling for selected text and longer paragraphs.
  • Clearer error messages when offline, out of requests, or using a wrong key.
  • A public setup guide for running the gateway safely.
  • More testing across local and hosted AI models.

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.