Inspiration
I started HeyCodex because I wanted more control over voice input than the built-in dictation experience I was using gave me. I was already using Codex, and I wondered whether its Codex-app-server workflow could help me build a voice-input companion that matched the way I write, without adding another specialized voice-input subscription.
HeyCodex was an in-progress personal project before Build Week, not a finished app. The event gave me a focused push to turn it into something clearer and more usable for other people.
What it does
HeyCodex is a macOS voice-input app for writing in the apps you already use. Press a global hotkey, speak, and it transcribes Japanese or English on-device with Apple SpeechAnalyzer. You can insert the transcript as-is, or optionally use AI Assist to clean it up. Ask AI lets you speak an instruction about selected text or a general question.
The privacy boundary matters: raw audio is transcribed on-device. When you choose AI Assist or Ask AI, the relevant text is passed to a separately installed Codex CLI running on your Mac, which may send a request to OpenAI under your authenticated account. I want HeyCodex to feel like a practical companion for people who use Codex, while keeping those choices visible and optional.
How we built it
I built HeyCodex as a native macOS app with Swift, SwiftUI, and AppKit. The core experience combines Apple SpeechAnalyzer, global hotkeys, a recording HUD, and destination-aware text insertion. Optional AI features use the Codex CLI that the user installs and authenticates separately.
During Build Week, I used Codex with GPT-5.6 extensively to review existing behavior, make product decisions, implement changes, and validate results. The work was not a claim that the entire app was created during the event; it was a focused period of moving an ongoing project toward a public-facing product.
Challenges we ran into
The hardest part was turning a workflow that made sense to me into one a new person could understand without having the same context. That meant untangling setup and permissions, making hotkey states and recording feedback clear, guarding text insertion, and explaining where optional AI processing begins. Supporting Japanese and English without making settings even more confusing added another layer.
I treated those friction points as product decisions, not only technical ones. Each change had to make the next action more obvious while preserving the ability to use ordinary voice input locally.
Accomplishments that we're proud of
I am proudest of moving HeyCodex beyond a personal setup and into a more complete product experience. Build Week work added and refined onboarding, input checks, restart behavior, settings, bilingual UI foundations, and safer AI-command interaction. The app now gives people a more understandable path from first launch to using voice input in their own workflow.
I also built in practical guardrails: AI is optional, the app checks where it is about to insert text, and the interface communicates recording and processing state instead of hiding it. That combination is what makes HeyCodex feel useful rather than just technically possible.
What we learned
The biggest lesson was that effective use of Codex was not just about asking it to write code. GPT-5.6 was especially useful to me as a way to move between review, design decisions, implementation, and validation. Choosing a model and reasoning level that matched the task helped me keep momentum, but the important decisions still came from testing real behavior and deciding what would be understandable to another person.
I also learned that voice input needs clear boundaries. Fast transcription matters, but so do permission explanations, safe insertion, and a plain account of what optional AI features do with text.
What's next for HeyCodex
My next priority is to keep making the app more stable while improving and expanding the features people actually use. I also want to simplify the settings experience: it has grown alongside the app, and it now needs a calmer, clearer structure that makes important choices easy to find.
Feedback from real users will guide those changes as I prepare HeyCodex for a public open-source release.
Built With
- appkit
- apple-speech-framework
- gpt-5.6
- macos
- openai-codex-cli
- speechanalyzer
- swift
- swiftui

Log in or sign up for Devpost to join the conversation.