Privacy-first AI voice keyboard for iPhone and iPad that turns speech into ready-to-send text. Local models, no servers, no tracking, fully offline.
31
stars
10
commits
Swift
primary language
Sep 2, 2026
updated
This repository contains the complete source code of Sayboard — privacy-first voice keyboard for iPhone and iPad. All speech recognition runs on-device with no servers, no accounts, and no tracking.
| Dark Mode | Light Mode |
|---|---|
![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
|---|
Sayboard supports 90+ languages with automatic language detection:
🇦🇫 🇦🇱 🇦🇩 🇦🇲 🇦🇿 🇧🇩 🇧🇾 🇧🇦 🇧🇬 🇰🇭
🇨🇳 🇨🇩 🇭🇷 🇨🇿 🇩🇰 🇪🇪 🇪🇹 🇫🇴 🇫🇮 🇫🇷
🇬🇪 🇩🇪 🇬🇷 🇭🇹 🇭🇰 🇭🇺 🇮🇸 🇮🇳 🇮🇩 🇮🇷
🇮🇱 🇮🇹 🇯🇵 🇰🇿 🇰🇷 🇱🇦 🇱🇻 🇱🇹 🇱🇺 🇲🇰
🇲🇬 🇲🇾 🇲🇹 🇲🇳 🇲🇲 🇳🇵 🇳🇱 🇳🇿 🇳🇬 🇳🇴
🇵🇰 🇵🇭 🇵🇱 🇵🇹 🇷🇴 🇷🇺 🇸🇦 🇷🇸 🇸🇰 🇸🇮
🇸🇴 🇿🇦 🇪🇸 🇱🇰 🇸🇪 🇹🇯 🇹🇿 🇹🇭 🇹🇲 🇹🇷
🇺🇦 🇺🇸 🇺🇿 🇻🇦 🇻🇳 🏴 🇿🇼 🏳️
To get started, you need a Mac, Xcode 16.4+ (iOS 17.0+ deployment target), and a (free) Apple Developer Account.
If your Xcode installation is fresh, make sure that command line tools are selected:
sudo xcode-select --switch /Applications/Xcode.app
Install the tools needed to build the project:
brew install xcodegen swiftformat swiftlint
(If you don't have Homebrew, see their official install instructions.)
Download the llama.cpp XCFramework (required for on-device LLM features):
./scripts/bootstrap-llama.sh
Generate the Xcode project from project.yml:
xcodegen generate
Open Sayboard.xcodeproj in Xcode
For both the Sayboard and SayboardKeyboard targets:
Choose Sayboard as scheme and a simulator
Settings has a Report a Problem section that opens either a prefilled GitHub issue or a prefilled email, whichever you prefer. Both carry the app version, the iOS version and the device identifier, so the report arrives ready to work on.
You can also write directly to support@sayboard.app.
Sayboard doesn't collect any analytics or telemetry, so we rely on your feedback to find and fix problems.
This source code repository will be updated for every public non-beta release. There will be one commit per released version.
We welcome contributions via GitHub pull requests. For bug fixes and small improvements, feel free to open a PR directly. For larger changes, please open an issue first to discuss the approach.
Sayboard is licensed under the GNU General Public License v3.
Copyright (c) 2025 Sayboard
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
We are publishing the source code in good faith, with transparency being the main goal. By having users pay for the development of the app, we can ensure that our goals sustainably align with the goals of our users: great privacy and security, no ads, no collection of user data.
10 commits
Swift
97.4%
Shell
2.5%
Privacy-first AI voice keyboard for iPhone and iPad that turns speech into ready-to-send text. Local models, no servers, no tracking, fully offline.
31
stars
10
commits
Swift
primary language
Sep 2, 2026
updated
This repository contains the complete source code of Sayboard — privacy-first voice keyboard for iPhone and iPad. All speech recognition runs on-device with no servers, no accounts, and no tracking.
| Dark Mode | Light Mode |
|---|---|
![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
|---|
Sayboard supports 90+ languages with automatic language detection:
🇦🇫 🇦🇱 🇦🇩 🇦🇲 🇦🇿 🇧🇩 🇧🇾 🇧🇦 🇧🇬 🇰🇭
🇨🇳 🇨🇩 🇭🇷 🇨🇿 🇩🇰 🇪🇪 🇪🇹 🇫🇴 🇫🇮 🇫🇷
🇬🇪 🇩🇪 🇬🇷 🇭🇹 🇭🇰 🇭🇺 🇮🇸 🇮🇳 🇮🇩 🇮🇷
🇮🇱 🇮🇹 🇯🇵 🇰🇿 🇰🇷 🇱🇦 🇱🇻 🇱🇹 🇱🇺 🇲🇰
🇲🇬 🇲🇾 🇲🇹 🇲🇳 🇲🇲 🇳🇵 🇳🇱 🇳🇿 🇳🇬 🇳🇴
🇵🇰 🇵🇭 🇵🇱 🇵🇹 🇷🇴 🇷🇺 🇸🇦 🇷🇸 🇸🇰 🇸🇮
🇸🇴 🇿🇦 🇪🇸 🇱🇰 🇸🇪 🇹🇯 🇹🇿 🇹🇭 🇹🇲 🇹🇷
🇺🇦 🇺🇸 🇺🇿 🇻🇦 🇻🇳 🏴 🇿🇼 🏳️
To get started, you need a Mac, Xcode 16.4+ (iOS 17.0+ deployment target), and a (free) Apple Developer Account.
If your Xcode installation is fresh, make sure that command line tools are selected:
sudo xcode-select --switch /Applications/Xcode.app
Install the tools needed to build the project:
brew install xcodegen swiftformat swiftlint
(If you don't have Homebrew, see their official install instructions.)
Download the llama.cpp XCFramework (required for on-device LLM features):
./scripts/bootstrap-llama.sh
Generate the Xcode project from project.yml:
xcodegen generate
Open Sayboard.xcodeproj in Xcode
For both the Sayboard and SayboardKeyboard targets:
Choose Sayboard as scheme and a simulator
Settings has a Report a Problem section that opens either a prefilled GitHub issue or a prefilled email, whichever you prefer. Both carry the app version, the iOS version and the device identifier, so the report arrives ready to work on.
You can also write directly to support@sayboard.app.
Sayboard doesn't collect any analytics or telemetry, so we rely on your feedback to find and fix problems.
This source code repository will be updated for every public non-beta release. There will be one commit per released version.
We welcome contributions via GitHub pull requests. For bug fixes and small improvements, feel free to open a PR directly. For larger changes, please open an issue first to discuss the approach.
Sayboard is licensed under the GNU General Public License v3.
Copyright (c) 2025 Sayboard
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
We are publishing the source code in good faith, with transparency being the main goal. By having users pay for the development of the app, we can ensure that our goals sustainably align with the goals of our users: great privacy and security, no ads, no collection of user data.
10 commits
Swift
97.4%
Shell
2.5%