diction logo

diction

iOS keyboard that transcribes speech to text in any app

GoDeveloper ToolsGoMIT 56 7Health 68
GitHub

What is it?

What it is

An iOS keyboard for voice and AI that transcribes speech to text in any app, featuring an open-source Go-based gateway for self-hosting.

Why it exists

To provide a private, unlimited, and model-agnostic way to dictate, compose, and edit text via voice without switching apps or relying on proprietary cloud services.

Who should use it

iOS users needing voice-to-text in apps, privacy-conscious individuals, developers wanting self-hosted solutions

Who should avoid it

Non-iOS users, those not requiring voice transcription, users uncomfortable with self-hosting

How it works

A quick walkthrough in plain English

How diction works

Step 1 of 3

You interact with it

Open diction, send a request, or connect it to your stack.

Features

iOS voice‑to‑text keyboard that streams audio via WebSocket
Self‑hosted gateway written in Go handling encryption and model routing
AES‑256‑GCM end‑to‑end encryption with X25519 key exchange
Model‑agnostic: supports any Whisper‑compatible backend or custom speech server
Optional LLM cleanup for cleaner transcripts
Zero tracking – no analytics or telemetry
Docker‑compose ready for one‑command deployment
OpenAI API compatible endpoints for easy integration
Supports multiple Whisper models (small, medium, large‑v3‑turbo) and NVIDIA Parakeet
Cloudflare Tunnel, Tailscale, ngrok support for remote access
NixOS flake for non‑Docker deployments
Built with security hardening (DynamicUser, syscall filtering)

Advantages

  • Open‑source and MIT licensed
  • High privacy – no data collection or third‑party SDKs
  • Flexible deployment: Docker, NixOS, or custom backend
  • Free and unlimited usage for self‑hosted/on‑device modes
  • Encrypted data in transit
  • Compatible with existing OpenAI‑compatible clients
  • Easy to swap models via Docker Compose
  • Optional LLM cleanup improves transcript quality
  • No rate limits or caps on usage
  • Supports GPU acceleration for faster inference

Disadvantages

  • Requires iOS 17+ and full‑access keyboard permission
  • Self‑hosting needs Docker or NixOS setup
  • Large models need significant RAM or GPU
  • No TTS or word‑level timestamps support
  • No SSE streaming on REST, only WebSocket
  • Limited to Whisper‑compatible backends (no custom speech APIs without adaptation)
  • Requires network connectivity for self‑hosted mode
  • Potential latency on CPU‑only setups
  • Configuration can be complex for beginners

Installation

cloud

Install [Diction](https://apps.apple.com/app/id6759807364) on your iPhone.

docker

1. Create a folder for the stack and save the provided `docker-compose.yml`.
2. Run `docker compose up -d`.

native

nix run github:omachala/diction#diction-gateway

compose

1. Create a folder for the stack and save the provided `docker-compose.yml`.
2. Run `docker compose up -d`.

FAQ

What is diction?

diction is an open-source project licensed under MIT.

What language is diction built with?

Primary language: Go.

Is it free to use?

Yes. Licensed under MIT. Check the license for commercial use.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for diction

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
diction | MushyBook