Direct Answer
The most useful idea in this build is not the custom keyboard or even the filmmaking app. It is the separation of authority. ChatGPT Voice handles the conversation. One Codex thread can edit Workmander's source code. A second Codex operator can only use the finished app through MCP. The human can inspect the prepared prompt, approve the spend, interrupt the run, and review every generated asset in a visible local interface.
That structure turns an agent from an invisible media-generation script into a supervised creative collaborator. The creator can speak an idea, let the system organize files and parameters, watch the planned action appear, and step in before money is spent or a weak prompt is submitted.
Watch the Build
Video credit: the fal YouTube channel. The presenter built and demonstrates Workmander, explains his personal Codex Micro mappings, and separates the creative and development lessons at the end. Product behavior below is cross-checked against OpenAI, Work Louder, and fal documentation.
Source Note
This is a creator field report, not an independent product benchmark. The presenter says he spent five days working in Codex, often in long 10-to-12-hour windows while tasks ran, and built his first native macOS AI filmmaking app with GPT-5.6 Sol. The video demonstrates a working interface, a new model integration, an MCP-only operator, paid image jobs, local assets, and project receipts. It does not provide the Workmander source code, a public download, an audited token total, or a controlled comparison with other coding agents.
OpenAI describes Codex as the same coding agent now available in ChatGPT, but the product boundary still matters: Codex remains a separate desktop view with separate history. Voice adds a live interface that can coordinate Work or Codex tasks using the tools and permissions of the selected experience.
What Workmander Actually Is
Workmander is a private native macOS application that wraps the fal generative-media platform. It is part model browser, part project database, part media gallery, and part agent harness. The creator uses it to generate images and videos while keeping the work local, organized, inspectable, and reusable.
| Layer | What the demo shows | Why it matters |
|---|---|---|
| Model access | fal endpoints for image, video, audio, and other media models. | One application can route work across a changing model catalog. |
| Canvas cards | Each requested generation becomes a visible card with the task and prompt. | The human can inspect what the agent intends to do. |
| Activity view | Submitted jobs move through a linear project activity page with sound cues. | Progress and spend are not hidden inside a terminal. |
| Local gallery | Outputs are stored, named, versioned, reviewed, and reused from the Mac. | Creative time is not wasted on manual file management. |
| MCP surface | A restricted Codex operator can create cards, fill parameters, submit jobs, and inspect activity. | The agent operates through declared application actions instead of editing the app. |
| Human controls | Voice interruption, mute, mouse interaction, Escape, manual editing, and spend approval. | The creator keeps judgment and can stop a weak run. |
The interface is deliberately not headless. The creator says the point is to watch the process, learn from the prompts, and keep an inspectable receipt for every action. That is a better design target than a single command that silently produces a folder of unexplained media.
The Four-Part System
| Actor | Authority | Cannot do by design |
|---|---|---|
| Voice coordinator | Listens to the creator, clarifies intent, reports progress, and delegates to Codex threads. | Should not silently bypass the tools and permissions of those threads. |
| Codex builder | Reads and edits Workmander source code, adds endpoints, runs tests, and creates commits. | Does not need to operate paid creative jobs during normal use. |
| Codex operator | Uses only Workmander's MCP tools to create cards, set prompts and parameters, submit approved jobs, and inspect activity. | Cannot alter Workmander source code in the demonstrated setup. |
| Human creator | Defines taste, interrupts, edits prompts, approves spend, compares outputs, and chooses what to keep. | Does not need to manage every filename, API schema, or repetitive parameter. |
This is a compact form of separation of duties. The agent allowed to change the application is not the same agent used to operate it. The human remains the only actor with final creative and spending authority. If the operator behaves badly, its MCP tools can be narrowed without disabling development work.
How the Voice-Led Development Loop Works
The live development demo begins with one URL from a fal model page. The presenter tells Voice to review the endpoint and add Gemini Omni Flash in four modes: text-to-video, image-to-video, reference-to-video, and video editing. He also asks for those modes to be exposed through Workmander's MCP server.
- Give Voice the outcome and source. The creator pastes the official model page and explains the required modes.
- Let Voice coordinate a coding thread. The worker inspects the schema, changes the native app, updates the MCP tools, and verifies the integration.
- Receive a spoken completion report. Voice reports that the modes are installed and tested, while explicitly stating that no paid generation was submitted.
- Switch to the restricted operator. A separate Codex thread is instructed to use Workmander through MCP only, with no code changes.
- Test the user journey. The operator creates four pixel-fox logo prompts, shows the generate state, waits for approval, submits one batch, and opens the activity view.
The creator also notices that the coding task ran at a lighter reasoning level than he intended. That small moment is instructive: tactile controls make settings faster to change, but they do not remove the need to confirm the active model, effort level, task scope, and cost before a consequential run.
Builder vs Operator: The Most Reusable Design Choice
Many agentic apps give one powerful agent the repository, shell, browser, credentials, and production actions. Workmander's split is more disciplined. The builder has source-code authority. The operator gets a much smaller application contract. Voice can decide which specialist to call, but each specialist remains bounded by its environment.
A production version would strengthen the boundary further: read-only repository access for the operator, separate API keys for development and generation, per-model spending limits, signed tool definitions, prompt and parameter logs, and an approval token that expires after one exact job.
Why MCP Is More Than a Convenience Layer
MCP gives the operator a vocabulary of application actions. Instead of moving the mouse unpredictably or editing files behind the UI, the agent can call named tools such as create card, set prompt, choose model, prepare generation, submit approved job, check status, or reuse asset.
fal's official MCP server exposes discovery, schema, pricing, inference, queue, file-upload, and documentation tools. It is hosted at https://mcp.fal.ai/mcp, uses the caller's fal API key, and is documented as stateless. The MCP service itself is free; generated media is billed at the same model pricing as direct API calls.
Creative request
- describe the goal in Voice
- operator searches or selects the model
- inspect the live input schema
- prepare prompt, parameters, batch size, and estimated cost
- render a visible preview card
- wait for human approval
- submit one exact job
- show request ID, status, output paths, and spend receipt
- require new approval for retries or variants
In a commercial app, expose only the tools the workflow needs. The public fal MCP can search and run models, but Workmander benefits from an application-specific MCP layer because it can enforce its own project structure, naming, receipts, and approval states.
The Generate Button Is a Spending Boundary
The first fox-logo run pauses at the visible generation state even though the initial instruction included submission. The operator prepares the batch and waits for the human. A later corgi run is allowed to submit automatically because the creator explicitly authorizes that behavior for the demonstration.
The creator says he normally keeps stricter approval for video because it is more expensive and he wants to refine the prompt. That should become an explicit policy, not an informal habit.
| Action | Default | Evidence before approval |
|---|---|---|
| Search model catalog or inspect schema | Automatic | Endpoint, provider, accepted inputs, and current pricing source. |
| Create prompt and project card | Automatic | Full prompt, references, aspect ratio, duration, and batch size. |
| Generate a low-cost draft | Approval or tightly capped auto-run | Exact estimated maximum and remaining daily budget. |
| Generate video, audio, or large batches | Explicit approval | Model, duration, resolution, quantity, retry policy, and maximum spend. |
| Retry, upscale, or create variants | New approval | Reason for retry, changed parameters, and additional cost. |
| Publish or distribute final media | Separate approval | Selected asset, destination, caption, rights check, and final preview. |
Why Build a Native macOS App?
Workmander could have been a web interface, but the creator wanted fast local galleries, direct file handling, a project database shaped around his process, Keychain and certificate integration, and an agent that can test and operate a real desktop app. fal provides official Swift client support, which makes a native client a reasonable technical choice.
Native does not automatically mean safer. A desktop media app still needs careful API-key storage, permission prompts, sandboxing decisions, file-scope controls, cancellation, and redaction of logs. The benefit is deeper local integration and ownership of the interaction model, not immunity from security work.
What Codex Micro Adds
Work Louder describes Codex Micro as an agent controller directly integrated with Codex. Its agent keys reflect task states such as idle, thinking, complete, needs input, and error. Command keys can accept or reject outputs, start chats, trigger voice, or run custom actions. A dial can change reasoning depth, while the joystick can expose presets or custom skills.
The device is officially sold out. Work Louder points to Creator Micro 2, which retains direct Codex integration, the same 13-key, dial, joystick, touch-sensor control format, agent-state feedback, six programmable layers, and optional Input software for wider application shortcuts. The product configurations and included keycaps are not identical, so treat it as the current functional successor rather than the same retail package.
| Control | Creator's mapping | General lesson |
|---|---|---|
| Agent keys | Switch to pinned chats rather than every subagent. | Reserve scarce physical controls for persistent workspaces. |
| Rotary dial | Scroll the chat and adjust reasoning level. | Map continuous controls to continuous settings. |
| Joystick | Open browser, navigation, sidebar, and pinned-chat actions. | Use directional input for spatial navigation or four high-frequency modes. |
| Mic key | Start a live Voice conversation instead of default push-to-talk. | One deliberate shortcut can remove the largest interaction cost. |
| Send key | Rarely used after adopting Voice. | Do not preserve a default mapping that no longer matches the workflow. |
These are the presenter's personal mappings. OpenAI documents starting Voice from the interface or a shortcut configured in Settings; it does not require this hardware. The charging and wireless-connectivity advice in the video is also the creator's observation, not an official specification reproduced here.
Creator Distillation: Speak First, Inspect Before Spending
The creative lesson is selective delegation. The presenter wants to speak the raw idea, let the model organize it, and edit once the structure exists. He delegates file naming, folder placement, first-draft prompts, reference tracking, and routine model parameters. He keeps the parts where taste matters: choosing a direction, judging outputs, changing prompts, controlling spend, and deciding when an asset is finished.
| Delegate | Keep human |
|---|---|
| Transcribe and structure the spoken brief. | Decide which idea is worth pursuing. |
| Name, store, version, and link generated files. | Select the strongest image, shot, or sound. |
| Draft long model-specific prompts and parameters. | Inspect and revise when the output misses the intent. |
| Prepare batches and monitor job completion. | Approve costly runs and reject wasteful retries. |
| Surface likely matches against objective criteria. | Make subjective editorial and brand decisions. |
The visible receipt is what makes this delegation educational rather than alienating. If a result is excellent, the creator can inspect the prompt and references. If it fails, he can see which assumption or parameter caused the miss. The agent does the clerical work without erasing the feedback loop that develops taste.
Developer Distillation: Build a Harness Around the Agent
The developer lesson is to stop treating the chat window as the entire product. Workmander gives the agent a domain-specific environment: project state, model schemas, media previews, local files, tool calls, sound cues, approvals, and a visual history. The app is the harness that turns a general coding and computer-use agent into a filmmaking operator.
- Define domain objects. Projects, cards, prompts, references, jobs, outputs, versions, and receipts should be first-class data.
- Expose narrow MCP tools. Prefer typed actions over unrestricted mouse control or shell access.
- Separate code changes from app operation. Give builder and operator agents different authority.
- Make state visible. Show queued, running, complete, failed, cancelled, and needs-approval states in the app.
- Test through the real surface. A successful API call is not enough; verify the card, approval, activity, file, gallery, reuse, and cancellation flows.
- Preserve a manual path. Mouse, keyboard, prompt editing, and explicit submit should remain available when Voice disconnects or the agent misunderstands.
A Safer Starter Blueprint
You do not need to begin with a full native filmmaking suite. Start with one model family, one project folder, and one complete supervised loop.
- Choose one job. For example, generate four 1:1 concept frames from a creative brief.
- Create a local project record. Store the brief, references, prompt, model ID, schema version, job ID, outputs, and cost.
- Add a prepare action. The agent may fill the prompt and parameters but cannot submit.
- Add a one-job approval. The human approves an exact endpoint, payload, quantity, and maximum cost.
- Run through a restricted operator. The operator gets MCP tools but no repository or arbitrary shell access.
- Render evidence. Show status, logs, files, and a side-by-side gallery.
- Test failure paths. Cancel a job, simulate a schema change, remove the API key, exceed the budget, and disconnect Voice.
Operator policy
Allowed
- inspect models and schemas
- prepare prompts and parameters
- create local project cards
- check job status and download approved outputs
Require approval
- every paid submission
- every retry or variation batch
- any upload containing private client material
- any publish, share, or external delivery
Forbidden
- source-code changes
- changing approval rules
- reading unrelated folders
- exposing API keys in prompts or logs
- increasing budgets without the human
Video Chapters
| Time | Topic |
|---|---|
| 00:00 | Codex Micro demo preview |
| 00:37 | Project context and the Workmander concept |
| 03:00 | Codex Micro setup tips and personal mappings |
| 05:15 | GPT Voice coordinates a Codex development task |
| 09:49 | Voice operates the AI filmmaking app through MCP |
| 13:06 | Full-screen Workmander and Codex Micro workflow |
| 17:11 | Creative workflow distillation |
| 22:16 | Developer and builder distillation |
Bottom Line
Workmander is compelling because it does not ask the creator to disappear from the creative process. Voice lowers the cost of expressing intent. Codex handles implementation and operation through separate threads. MCP gives the operator a bounded application contract. The native interface keeps prompts, files, status, and outputs visible. Approval gates keep paid generation under human control.
Codex Micro makes that loop tactile, but it is optional. The lasting idea is the architecture: a general agent becomes much more useful when a purpose-built app gives it narrow tools, visible state, local context, and a human checkpoint at every expensive or irreversible action.
Sources and Credits
- fal: I Built a macOS AI Filmmaking App with Codex
- fal official YouTube channel
- OpenAI: Codex in ChatGPT
- OpenAI Help Center: ChatGPT Work and Codex
- OpenAI Help Center: ChatGPT Voice
- Work Louder: Codex Micro
- Work Louder: Creator Micro 2
- fal: MCP setup and tool reference
- fal: official client setup, including Swift support