Skip to content

tbointeractive/blitztext-app

 
 

Blitztext App

Blitztext App is an experimental open-source macOS menubar app for turning speech into text.

It is intentionally small and unfinished. The goal is to make a real workflow visible and hackable: press a hotkey, speak, get text back, optionally rewrite it, and paste it into the app you were using.

This is a learning and experimentation project, not a polished product.

Preview status: bring your own OpenAI API key, no hosted backend, no warranty, no support guarantee.

What It Does

  • Blitztext: record speech and transcribe it.
  • Blitztext+: record speech, transcribe it, then turn the rough draft into cleaner writing.
  • Blitztext $%&!: turn frustrated speech into a calmer message.
  • Blitztext :): add fitting emojis to dictated text.

Important Preview Notes

  • macOS only.
  • Bring your own OpenAI API key.
  • No hosted Blitztext backend is included or provided.
  • In online mode, audio and text are sent directly from the app to the OpenAI API.
  • Optional local transcription via WhisperKit/CoreML if you install a compatible model locally.
  • ./build.sh creates a locally ad-hoc-signed development app. No notarized release binary is provided.
  • Not production ready.
  • No warranty and no support guarantee.

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.

Screenshots

Blitztext online transcription mode Blitztext secure local transcription mode
Blitztext local model picker Blitztext settings and customization view

Requirements

  • macOS 14 or newer
  • Xcode 16 or newer (Swift 5.10), with Command Line Tools installed and selected for xcodebuild
  • XcodeGen to generate the Xcode project
  • For online transcription and rewriting: an OpenAI API key with access to:
    • whisper-1 for transcription
    • gpt-4o-mini and optionally gpt-4o for rewriting
  • For local-only transcription: a WhisperKit CoreML model in: ~/Library/Application Support/Blitztext/models/whisperkit/

The build also pulls one Swift Package dependency automatically:

Install XcodeGen if needed:

brew install xcodegen

Build And Run

git clone https://github.com/cmagnussen/blitztext-app.git
cd blitztext-app
./build.sh --run

For a local install into /Applications:

./build.sh --install --run

The generated .app is ad-hoc signed for local development only. Do not treat it as a trusted redistributable binary. A public binary release would need Developer ID signing and notarization.

On first launch, either paste your own OpenAI API key for online workflows or install a WhisperKit CoreML model for local transcription. Rewriting workflows still require OpenAI.

For fully local transcription, install a WhisperKit CoreML model and enable Sicherer Lokaler Modus in the app.

For a slower, more explicit walkthrough, see docs/setup.md.

Permissions

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.

Full Disk Access is not required. If auto-paste does not work even though transcription succeeds, open System Settings -> Privacy & Security -> Accessibility, enable Blitztext there, restart Blitztext, and try again with the cursor focused in a text field. If macOS shows multiple Blitztext entries, remove or disable the old ones and grant the permission to the app you just built or installed.

Data Flow

The preview has no custom backend.

Online transcription: Your Mac -> OpenAI Audio Transcriptions API
Text rewriting:       Your Mac -> OpenAI Chat Completions API
Local transcription:  Your Mac -> WhisperKit/CoreML on device

The app stores your OpenAI API key in the user's macOS Keychain.

Read docs/privacy.md before using the preview with sensitive content.

Project Structure

BlitztextMac/
  App/          App lifecycle and paste handling
  Features/     Workflows, menu bar UI, settings
  Services/     Recording, OpenAI calls, hotkeys, local storage
  Views/        Shared SwiftUI views
build.sh        Local build script
docs/           Setup, privacy, roadmap, preflight, landing page notes

Local Models

Local transcription is available as an experimental WhisperKit/CoreML path. The app does not bundle a model; choose one in the app, click install, and then switch on Sicherer Lokaler Modus from the menu bar or settings.

See docs/local-models.md.

Contributing

Contributions are welcome, especially if they make the preview easier to build, understand, or fork.

Please read CONTRIBUTING.md first.

Support And Roadmap

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.

License

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.

Legal / Impressum & Datenschutz

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:

About

Experimental open-source macOS menubar app for speech-to-text workflows

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Swift 97.2%
  • Shell 2.8%