Oct 25, 2026 · by MEET JETHWA · View source

Zest

Hold ⌥Space, flick, and an AI agent does the dev chore

Zest

Editorial analysis

The agent isn’t the bottleneck anymore — the handoff is

Every cross-border operator I know has quietly become a part-time AI wrangler. You’ve got Claude Code open in one terminal, Codex in another, a Gemini tab for the stuff that needs a long context window, and a shell window where the actual deploys happen. The models are genuinely good now. What still eats your afternoon is the plumbing: re-typing the same prompt for the fifth time, copy-pasting a stack trace into a chat box, remembering which repo you were in when you had the idea. That friction is the real tax on small teams — and it’s exactly the gap Zest, a new macOS utility from maker Meet Jethwa, is trying to close. It’s a Mac-only developer tool, not an e-commerce platform, and I want to be upfront that most sellers reading this will never install it. But the pattern it encodes — one gesture, a menu of pre-baked tasks, background jobs that ping you when they’re done — is the pattern I think every ops stack in this industry is about to copy. So let’s look at what it actually does, where it’s clever, and where I think it’s overbuilt for the people who’d benefit most.

What Zest actually solves (and what it doesn’t)

The pitch, in the maker’s own words, is almost embarrassingly mundane: he ships Mac and iOS apps with Claude Code and Codex, and kept typing the same prompts over and over — “take App Store screenshots,” “push this to TestFlight,” “review my diff before I commit.” The agents were great; getting the task to them was the slow part. So Zest collapses that into a single gesture. Hold ⌥ Space in any project and a “Liquid Glass” ring opens at your cursor. Flick toward a slice, let go, and that task fires off to Claude Code, Codex, Gemini, Ghostty, or a plain shell command. Background jobs ping you when they’re “served ✦.”

That’s the whole product. It is a launcher, not an agent. It doesn’t write better prompts, it doesn’t chain reasoning, it doesn’t touch your data. It’s a radial menu with opinions about which agent gets which job. And that’s precisely why I find it interesting: the value is in the routing and the muscle memory, not the intelligence.

The 1.0 feature list is where the thinking shows. Five rings on one key — project, agents, git, utils, jobs — and you keep holding and scroll to swap between them. It’s context-aware: it knows whether you’re in Finder, Xcode, Cursor, VS Code, Zed or Ghostty, and it grabs whatever text you had selected. Each slice can run on its own git worktree, so your working checkout stays clean while the agent flails around on a branch. There’s a “served” ring where you view the diff, merge it, yeet it, re-run it, or keep going in Ghostty. There’s a Race mode that sends the same prompt to Claude and Codex in two worktrees and lets you keep the winner’s diff. There’s “Fix what I see,” which screenshots the window you’re stuck on and sends it to Claude with one line from you. And there’s a .zest.yml you can drop in a repo to define your own slices, agents and prompts — commit it and the whole team gets the same wheel.

Pricing is a 14-day free trial with everything unlocked, then $19 once for launch week (normally $29), on up to three Macs. No subscription. It requires macOS 26 because it’s built on Liquid Glass. Privacy is local-only: your own Claude/Codex/Gemini logins, no servers, no account, code never leaves the Mac.

Why Amazon sellers should care more than Shopify ones

Here’s the counterintuitive bit. If you run a Shopify DTC brand, your day is mostly operational — you’re in Klaviyo building flows, in Meta Ads Manager checking ROAS, in a 3PL portal reconciling. Very little of that is “type a prompt into a coding agent.” A tool like Zest is a novelty for you.

If you run an Amazon FBA brand, though, your day is increasingly scripted. You’re pulling Amazon Seller Central reports, reconciling settlement files, bulk-editing listings, monitoring buy-box share, watching for hijackers, filing reimbursements. The operators who are winning right now are the ones who’ve wired Claude or Codex into that workflow — writing the Python that parses the settlement CSV, generating the listing copy variants, drafting the reimbursement claims. For that operator, the bottleneck is exactly the one Zest describes: you have the idea at 11pm, and by the time you’ve opened the terminal, cd’d into the right folder, and re-typed the context, the idea has evaporated. A gesture that fires “pull yesterday’s settlement and flag anything over $50” into a background agent is genuinely valuable. So Zest’s real audience in this industry is the technical Amazon operator, not the Shopify merchant — and that’s a smaller, weirder, more loyal crowd.

How it differs from the incumbents you’d actually compare it to

The obvious comparison is Raycast, which already owns the “hold a hotkey, get a launcher, run commands” muscle in the Mac power-user world. Raycast has AI extensions, script commands, and a huge ecosystem. Zest is narrower and more opinionated: it’s not trying to be your everything-launcher, it’s trying to be specifically your agent dispatcher, with worktree isolation and diff review baked in. If you already live in Raycast, Zest is a second launcher competing for the same keystroke, and that’s a real adoption tax.

The second comparison is Cursor and the IDE-native agent panels. Cursor wants the agent inside the editor; Zest wants it outside, callable from anywhere including Finder and Xcode. That’s a philosophical split. If your work happens 90% inside one editor, Cursor’s integration is deeper and you don’t need Zest. If your work is scattered — a screenshot here, a shell command there, a repo you’re only half in — the “call it from anywhere” model wins.

The third comparison is the CLI wrappers: Claude Code itself, Codex, and tools like Aider that script multi-model workflows. Zest’s Race mode is essentially a GUI for the “run two models, keep the better diff” pattern that CLI users have been hand-rolling for a year. The difference is the diff-review UI and the worktree hygiene, which is where hand-rolled scripts usually fall apart.

Where Zest is genuinely differentiated is the combination of context capture (it grabs your selected text and knows your app), isolation (per-slice worktrees), and review (the served ring). No incumbent bundles all three into one gesture. Raycast has the gesture but not the worktrees. Cursor has the worktrees-ish behavior but not the anywhere-gesture. Aider has the multi-model race but not the UI. That’s a real, if narrow, wedge.

What cross-border sellers can borrow from the design

Strip away the Mac-specific packaging and there are four ideas here that any ops team can steal this quarter, regardless of whether you ever install Zest.

One: pre-bake your prompts into named slices. The .zest.yml idea — commit a file that defines “the tasks we run” — is the single most transferable concept. Most teams’ AI usage is tribal knowledge living in one person’s clipboard. Writing down “here are the twelve prompts we actually run, with the context each one needs” is a documentation exercise that pays off whether you run it through Zest, a Make scenario, or a plain shell alias. The moment your prompts are versioned and shared, onboarding a new ops hire goes from weeks to days.

Two: isolate every agent run. The worktree discipline — agent works on a branch, you review the diff, you merge or yeet — maps directly onto how you should be running AI against live seller data. Never let an agent write directly to your listing feed or your ad campaigns. Have it produce a diff, a staging file, a draft. The “served ring” is just a review gate, and review gates are the difference between an AI workflow and an incident.

Three: race the models on high-stakes tasks. The Race feature is a hedge against model variance. For low-stakes stuff (draft a reply to this buyer message) one model is fine. For high-stakes stuff (rewrite this listing’s title and bullets for a new keyword set) running Claude and GPT against each other and keeping the better output is cheap insurance. You don’t need Zest to do this — you need the discipline to do it.

Four: capture context at the moment of inspiration. “Fix what I see” is a screenshot plus one line. That’s the lowest-friction way to hand a problem to an agent, and it’s wildly underused in e-commerce ops. Stuck on a weird Seller Central error? Screenshot it, one line of context, send to your agent. Stuck on a Klaviyo flow that won’t trigger? Same. The screenshot is the prompt.

Where the math breaks

Let me be the skeptic for a paragraph, because the launch thread itself surfaced the weak spot. A commenter on the Product Hunt page asked the sharp question about Race mode: when both Claude and Codex come back with different but working diffs, how do you pick the winner — is it purely your eyeball on the two diffs, or does Zest surface anything like test results or diff size to help compare? And does the losing worktree get cleaned up automatically?

That’s the right question, and the honest answer is that “keep the winner’s diff” is doing a lot of load-bearing work in the pitch. Diff review is a skill. Most operators — especially non-engineer e-commerce operators — cannot reliably eyeball two diffs and pick the better one. If Zest doesn’t surface test results, lint output, or at minimum a diff-size and files-touched summary, Race mode risks becoming “run two models, pick the one that looks prettier,” which is not a real selection signal. The worktree cleanup question matters too: if losing branches accumulate, you get exactly the repo clutter the feature was supposed to prevent. Neither of those is fatal — they’re 1.x problems — but they’re the difference between a demo and a daily driver.

Where my judgment says it falls short

Three concerns, in ascending order of seriousness.

The macOS 26 requirement is a real ceiling. Building on Liquid Glass means Zest only runs on the newest Mac OS. For a developer tool that’s arguably fine — developers update. But it shrinks the addressable audience meaningfully in the first year, and it signals that the maker optimized for a beautiful demo over broad compatibility. If you’re an operator on an older Mac, you’re locked out until you upgrade, full stop.

The price is a feature, not a bug — but it’s also a filter. $19 once, no subscription, three Macs, local-only, no account. I love this. It’s the most operator-friendly pricing model I’ve seen on Product Hunt in a while, and the no-server privacy stance is genuinely reassuring for anyone handling seller data. But one-time pricing on a tool that depends on fast-moving third-party APIs (Claude, Codex, Gemini all ship breaking changes) creates a sustainability question. Who pays for maintenance in year two? The maker hasn’t said. That’s not a reason to avoid it, but it’s a reason to expect either a paid major-version upgrade later or a pivot to subscription. Budget for that emotionally.

It solves a problem most e-commerce teams don’t yet have. This is the big one. Zest is built for someone who is already running Claude Code and Codex daily, already comfortable with git worktrees, and already frustrated by re-typing prompts. That’s a real person, but it’s a small slice of the cross-border operator population. The median Amazon brand owner is not there yet. So the honest framing is: Zest is a tool for the 5% of operators who’ve already built the AI habit, and it makes their existing habit 20% faster. It will not convert the other 95%, and it’s not trying to. That’s fine — but don’t buy it expecting it to create an AI workflow. It accelerates one you already have.

The “why not just use Raycast” test

I keep coming back to this because it’s the adoption killer. If you’re a Raycast user, you already have a hotkey that does things. Adding a second hotkey for a narrower purpose is a cognitive cost, and the benefit has to be large enough to justify the context switch. For a heavy multi-agent user, the worktree isolation and diff review probably clear that bar. For a casual user, it almost certainly doesn’t. My read: Zest wins the power user and loses the generalist, and that’s a defensible niche — just don’t expect it to become the default launcher on anyone’s Mac.

What I’d watch / test next

If you’re an operator reading this and wondering whether to spend the $19, here’s what I’d actually do this week.

First, before installing anything, write down the ten prompts you type most often. Not the clever ones — the boring, repetitive ones. “Pull yesterday’s settlement file.” “Draft a response to this buyer message.” “Summarize this week’s ad spend by campaign.” If you can’t name ten, you don’t have the problem Zest solves yet, and you should spend the $19 on a Notion template instead.

Second, if you can name ten, install the trial and map five of them to slices. Use the 14-day window to test whether the gesture actually sticks — the whole thesis is muscle memory, and muscle memory either forms in two weeks or it doesn’t. If you’re reaching for the ring without thinking by day ten, it’s a keeper. If you’re still cmd-tabbing to a terminal, uninstall and don’t look back.

Third, watch the Race mode question. Before you trust it on anything that touches live listings or ad spend, check whether the losing worktree gets cleaned up and whether you get any signal beyond your own eyeballs. If the answer is “no signal,” use Race only for drafts and keep the final call human. That’s good practice anyway.

Fourth, if you’re on the fence about the whole category, the thing to watch isn’t Zest specifically — it’s whether Raycast ships worktree-aware agent dispatch, or whether Cursor ships a global hotkey. Either of those would collapse Zest’s wedge overnight. The pattern is right; the moat is thin. Bet on the pattern, stay flexible on the vendor.

Ready to Create Your Own?

Join thousands of brands creating high-performing video ads with VEONIB. No editing skills required.

Start Creating for Free