This is a fork of cmagnussen/blitztext-app modified to run 100% offline — no OpenAI API key required.
Blitztext App is an experimental open-source macOS menubar app for turning speech into text.
Press a hotkey, speak, get text back, optionally rewrite it, and paste it into the app you were using. Everything runs on your machine.
| Component | Upstream | This Fork |
|---|---|---|
| Transcription | OpenAI Whisper API or WhisperKit | WhisperKit only (local) |
| Text rewriting | OpenAI GPT-4o / GPT-4o-mini | Ollama (qwen3.5:latest) |
| API key required | Yes | No |
| Internet required | Yes (online mode) | No |
All rewriting workflows (Blitztext+, $%&!, :)) now use LocalTranscriptionService for speech-to-text and Ollama's native /api/chat endpoint for text generation, with think: false to disable reasoning mode for fast responses (~1-5s).
- Blitztext (
fn + Shift): record speech, transcribe locally via WhisperKit. - Blitztext+ (
fn + Control): transcribe + improve text via Ollama. - Blitztext $%&! (
fn + Option): turn frustrated speech into a calm message via Ollama. - Blitztext :) (
fn + Cmd): transcribe + add emojis via Ollama.
- macOS only.
- No OpenAI key needed — everything runs locally.
- Ollama must be running in the background (
open -a Ollama). - A WhisperKit CoreML model must be installed (see setup below).
./build.shcreates a locally ad-hoc-signed development app.- Not production ready. No warranty.
You are welcome to use, fork, adapt, and share this project under the license terms.
The intent is not to ship a one-click finished app. The intent is to make a real AI workflow understandable: clone it, build it, read the code, change it, break it, fix it, and suggest improvements. If you only want to download something and never look inside, this preview will probably feel rough. If you want to learn how a small native macOS AI app is put together, you are in the right place.
![]() |
![]() |
![]() |
![]() |
- macOS 14 or newer
- Xcode 16 or newer, with Command Line Tools installed
- XcodeGen:
brew install xcodegen - Ollama running locally with at least one LLM model
- A WhisperKit CoreML model (installed via the app or manually, see below)
The build pulls one Swift Package dependency automatically:
argmax-oss-swift(WhisperKit)
git clone https://github.com/albecabrera/blitztext-app.git
cd blitztext-app
./build.sh --install --run# Install from https://ollama.com or via brew
brew install ollama
ollama pull qwen3.5:latest # or any other model you preferOpen Ollama so it runs in the background before using Blitztext.
Option A — from the app: Settings → Anpassen → enable Sicherer Lokaler Modus → click install.
Option B — via CLI:
pip install "huggingface_hub[cli]"
mkdir -p "$HOME/Library/Application Support/Blitztext/models/whisperkit"
python3 -c "
from huggingface_hub import snapshot_download
snapshot_download(
repo_id='argmaxinc/whisperkit-coreml',
allow_patterns=['openai_whisper-small_216MB/*'],
local_dir='$HOME/Library/Application Support/Blitztext/models/whisperkit'
)
"Expected layout:
~/Library/Application Support/Blitztext/models/whisperkit/
openai_whisper-small_216MB/
AudioEncoder.mlmodelc
MelSpectrogram.mlmodelc
TextDecoder.mlmodelc
Settings → Anpassen → toggle Sicherer Lokaler Modus ON.
- Microphone: required to record your voice.
- Accessibility: required to auto-paste results. Open System Settings → Privacy → Accessibility → enable Blitztext.
Edit BlitztextMac/Services/LLMService.swift, line 1:
private let ollamaModel = "qwen3.5:latest" // change to any ollama model nameThen rebuild: ./build.sh --install
Blitztext asks for:
- Microphone: to record your voice.
- Accessibility: to paste the result back into the app you were using.
If you do not grant Accessibility permission, you can still copy results manually.
Everything stays on your machine. No data leaves your Mac.
Transcription: Your Mac -> WhisperKit/CoreML (on device)
Text rewriting: Your Mac -> Ollama (localhost:11434)
BlitztextMac/
App/ App lifecycle and paste handling
Features/ Workflows, menu bar UI, settings
Services/ Recording, Ollama calls, WhisperKit, hotkeys, local storage
Views/ Shared SwiftUI views
build.sh Local build script
docs/ Setup, privacy, roadmap notes
Contributions are welcome, especially if they make the preview easier to build, understand, or fork.
Please read CONTRIBUTING.md first.
This preview has no formal support promise. See SUPPORT.md for how to ask for help without sharing secrets.
The current direction is documented in ROADMAP.md. Maintainer-facing release checks live in docs/open-source-preflight.md.
Code is released under the MIT License. See LICENSE.
Project names, logos, and app icons are not automatically granted as trademarks or brand assets. See TRADEMARKS.md.
This is an experimental, non-commercial open-source project, provided as-is under the MIT License without warranty or support. Nothing is sold here and no installation or operation is performed on your behalf.
The companion website (blitztext.de) is operated by Blackboat Internet GmbH:
- Impressum: https://www.blackboat.com/impressum
- Datenschutz / Privacy: https://www.blackboat.com/datenschutz



