VOICE → WORDS https://hex.kitlangton.com
  • Swift 99.1%
  • TypeScript 0.8%
  • Ruby 0.1%
Find a file
History 2025-11-17 19:15:14 -05:00
.changeset Release 0.5.7 2025-11-17 19:15:14 -05:00
.cursor/rules init 2025-02-21 19:27:22 -06:00
.github Update README: highlight Parakeet as default transcription engine, remove CI workflow 2025-11-14 20:07:21 -05:00
bin Add Sparkle generate_appcast binary 2025-11-14 14:16:46 -05:00
docs update version 2025-11-16 21:54:26 -05:00
Hex Release 0.5.7 2025-11-17 19:15:14 -05:00
Hex.xcodeproj Release 0.5.7 2025-11-17 19:15:14 -05:00
HexCore Release 0.5.6 2025-11-17 18:45:55 -05:00
tools/scripts attemtp to fix regression 2025-11-17 17:12:34 -05:00
.gitignore chore: add node tooling to .gitignore 2025-11-15 21:41:14 -05:00
.swiftlint.yml add github ci steps for releasing and building 2025-05-30 09:35:57 -05:00
AGENTS.md Migrate HexSettings to HexCore with backward compat 2025-11-15 22:37:01 -05:00
bun.lock update lock files 2025-11-17 14:17:18 -05:00
CHANGELOG.md Release 0.5.7 2025-11-17 19:15:14 -05:00
CLAUDE.md update claude 2025-11-17 19:07:30 -05:00
hex.rb Add TypeScript release pipeline with tag-based versioning 2025-11-14 12:46:43 -05:00
LICENSE Add MIT license and minor UI/model adjustments (resolves #84) 2025-11-13 22:15:00 -05:00
Localizable.xcstrings Add sound effects volume slider 2025-11-16 21:00:35 -05:00
package.json Release 0.5.7 2025-11-17 19:15:14 -05:00
README.md Document AI changeset tool in README 2025-11-17 16:01:21 -05:00

Hex — Voice → Text

Press-and-hold a hotkey to transcribe your voice and paste the result wherever you're typing.

Download Hex for macOS

Note: Hex is currently only available for Apple Silicon Macs.

I've opened-sourced the project in the hopes that others will find it useful! Hex supports both Parakeet TDT v3 via the awesome FluidAudio (the default—it's frickin' unbelievable: fast, multilingual, and cloud-optimized) and the awesome WhisperKit for on-device transcription. We use the incredible Swift Composable Architecture for structuring the app. Please open issues with any questions or feedback! ❤️

Contributing

Issue reports are welcome! If you encounter bugs or have feature requests, please open an issue.

Note on Pull Requests: At this stage, I'm not actively reviewing code contributions for significant features or core logic changes. The project is evolving rapidly and it's easier for me to work directly from issue reports. Bug fixes and documentation improvements are still appreciated, but please open an issue first to discuss before investing time in a large PR. Thanks for understanding!

Changelog workflow

  • For AI agents: Run bun run changeset:add-ai <type> "summary" (e.g., bun run changeset:add-ai patch "Fix clipboard timing") to create a changeset non-interactively.
  • For humans: Run bunx changeset when your PR needs release notes. Pick patch, minor, or major and write a short summary—this creates a .changeset/*.md fragment.
  • Check what will ship with bunx changeset status --verbose.
  • npm run sync-changelog (or bun run tools/scripts/sync-changelog.ts) mirrors the root CHANGELOG.md into Hex/Resources/changelog.md so the in-app sheet always matches GitHub releases.
  • The release tool consumes the pending fragments, bumps package.json + Info.plist, regenerates CHANGELOG.md, and feeds the resulting section to GitHub + Sparkle automatically. Releases fail fast if no changesets are queued, so you can't forget.
  • If you truly need to ship without pending Changesets (for example, re-running a failed publish), the release script will now prompt you to confirm and choose a patch/minor/major bump interactively before continuing.

Instructions

Once you open Hex, you'll need to grant it microphone and accessibility permissions—so it can record your voice and paste the transcribed text into any application, respectively.

Once you've configured a global hotkey, there are two recording modes:

  1. Press-and-hold the hotkey to begin recording, say whatever you want, and then release the hotkey to start the transcription process.
  2. Double-tap the hotkey to lock recording, say whatever you want, and then tap the hotkey once more to start the transcription process.

💡 Note: The first time you run Hex, it will auto-download the Parakeet model in the background. This is incredibly fast and optimized for the cloud—you'll be up and running in no time!

License

This project is licensed under the MIT License. See LICENSE for details.