Blink and it’s live.

The fastest way to iterate with agents on iOS. Say what should change and watch it land in under a second.

Version 0.1.6 · 12 MB · macOS 15 or later

Biscuit · walk in progress
Reply, or ask for something else…
Evening, Biscuit
Walk
Treats
Fetch
Nap
Vet
Bath

What an edit costs

Most saves never leave the running app.

Segue reads each save, works out the smallest change that shows it, and does that. You see the result before you have looked back at the simulator.

A body, a colour, a string
swapped in place, state kept
0.3 s
An initial value, a default argument, an enum case's raw value
the file injected, state kept
0.4 s
A stored property or method on a UIKit screen
fresh instances of that screen
0.7 s
A new type, a new file, a new conformance
rebuild and relaunch, only when it must
seconds

Timed on an M-series Mac against a 40-file UIKit app. Bars are to scale up to one second.

What it does

Serious tools. A friendlier way forward.

case .treats:
return .orange
Treats
hot · 268 ms

Hot reload with a brain

Change a colour, a string, a whole screen: it's on the phone before you've looked up, and your scroll position and login are still there. Even UIKit layout changes stay live. Nothing else pulls that off.

segue_tapsegue_screenshotsegue_logs

Agents with eyes and hands

Claude Code doesn't just edit the code. It taps, types, scrolls and screenshots your app like an impatient tester, then shows you what it saw.

Every task gets its own phone

A branch, a worktree and a simulator each. Run three at once and none of them can tread on the others.

Biscuit
App.swift
Tile.swift
Walk.swift
Treats.swift
Assets
[segue] runtime loaded
⚠ constraint ambiguous: card.width
reload · hot · 268 ms

One window, not four

Simulator, console, files, diff and the agent, side by side. When something breaks, the agent has read the error before you've found it.

Commit 1 change
feat: update Tile.accent
PR #42 · merged

Ship from the sidebar

The commit message comes from what actually changed, not what you asked for. Keep the good lines, drop the rest, open the PR. When it merges, the task tidies itself away.

0
files added to your projectBiscuit.xcodeproj · untouched

Zero setup

Open your Xcode project. That's the setup. No pods, no scripts, no dylibs in your build, and production never knows.

A task, start to finish

From a sentence to a merged PR without leaving the window.

teal-treats · biscuit
  1. youmake the treats tile teal
  2. seguebranch segue/teal-treats · worktree · iPhone 17 Pro booted
  3. claudeEdited Tile.swift, waited for reload
  4. reloadhot · 268 ms · state kept
  5. claudeTreats tile is now teal in Tile.swift:41.
  6. youship it
  7. seguefeat: update Tile.accent → PR #42, draft
  8. githubmerged · branch deleted · task folded away

Every task is a branch and a worktree on its own simulator. Merge it into main, or open the pull request and let GitHub finish it: when the PR merges or closes, the task folds away on its own.

Details

Yes, that too.

feat/{slug}

Branches follow your convention.

feat: update Tile.accent

Commit messages written from the diff.

+ print("here")+ accent = .teal

Discard the lines you don't want.

.segue.json

Settings live next to the project, in git.

PR #42 · merged

A merged PR folds the task away.

Face ID · push · location

Device conditions, one click each.

$0.42 · 3 steps

Transcript and cost stay with the task.

Claude Code · Codex

Connected through MCP in one step.