Skip to content

rwcod/TapTalk

Repository files navigation

TapTalk

Privacy-first dictation for macOS, local by default.

Why It Exists

Most dictation tools assume a hosted account, a managed cloud pipeline, and opaque privacy tradeoffs. TapTalk exists to offer a local-first macOS dictation layer that still lets you opt into cloud speech-to-text on your own terms.

  • Local transcription with faster-whisper
  • Optional bring-your-own cloud providers and API keys
  • No mandatory TapTalk account
  • No subscription lock-in baked into the product

Download Preview For macOS

Preview builds are published on GitHub Releases.

  • Public preview downloads are macOS only
  • Current packaged preview artifacts are Apple Silicon only (arm64)
  • The .dmg is the recommended install path; a .zip is also published as a fallback
  • This first public preview is not notarized, so Gatekeeper will warn on first launch

Install The Preview

  1. Open the latest GitHub Release.
  2. Download the latest TapTalk arm64 .dmg.
  3. Drag TapTalk.app into /Applications.
  4. Launch TapTalk from /Applications.

If Gatekeeper blocks first launch, use one of these paths:

  1. In Finder, right-click TapTalk.app, choose Open, then confirm Open.
  2. Or open System Settings > Privacy & Security and click Open Anyway for TapTalk.

If you grant Accessibility or Input Monitoring during setup, macOS may require a restart before the Fn hotkey path reports as active.

Run From Source

TapTalk's primary product surface is the macOS Electron app. The CLI remains for development and debugging.

Bootstrap With The Install Script

Fresh install on macOS:

curl -fsSL https://raw.githubusercontent.com/rwcod/TapTalk/main/scripts/install.sh | bash

From an existing clone:

./scripts/install.sh --here --start

The script:

  • installs or verifies ffmpeg, Python 3.11, and Node via Homebrew
  • creates a local .venv
  • runs npm install
  • starts the Electron app

For local dictation, the in-app setup wizard can install or upgrade faster-whisper and pre-download the selected Whisper model on first run.

Manual Run Path

brew install ffmpeg python@3.11 node
npm install
npm start

Then finish setup in the app:

  • choose Local for on-device transcription
  • or choose Cloud and paste your own API key for a supported provider

Privacy Model Summary

  • Local mode keeps recording and transcription on your Mac
  • Cloud mode sends audio to the provider you choose
  • TapTalk does not require a TapTalk account or operate a mandatory hosted relay
  • You bring your own provider and API key
  • Detailed behavior lives in PRIVACY.md

macOS Permissions

  • Microphone: required to record audio
  • Accessibility: required for auto-paste and for the Fn hotkey flow
  • Input Monitoring: required for the Fn hotkey flow

If you avoid the Fn hotkey path, Fn-specific permissions are not required. After enabling Accessibility or Input Monitoring, restart the app if the setup wizard still shows the Fn listener as pending.

Current Limitations

  • Preview quality, not a polished GA release
  • macOS only
  • GitHub Release artifacts are Apple Silicon only today; do not assume Intel preview support
  • First public preview is not notarized, so first-launch Gatekeeper friction is expected
  • Local mode still depends on local Python, ffmpeg, and a first-time model download
  • Cloud mode privacy, logging, and retention depend on your chosen provider

Release verification still requires the manual smoke checks in docs/maintainers/RELEASE_CHECKLIST.md.

Contributing And Security

License

ISC, see LICENSE.