A native macOS mob programming timer app, inspired by mobster.
Built with Amp (~$60 in tokens) — see the development thread for the full build history.
- Timer - Configurable turn duration with audio notifications
- Roster management - Driver/navigator rotation with drag-and-drop reordering
- Bench - Temporarily bench inactive mobsters
- Floating timer - Always-on-top window showing countdown
- Break timer - Full-screen break overlay with countdown
- Global hotkey - ⌘⇧M to rotate/start timer from anywhere (requires accessibility permission)
- Menu bar - Quick access from the menu bar
- Auto-rotation - Automatic driver/navigator swap when timer ends
- Tips - Support development via tip jar
- Accessibility permissions reset on rebuild: The app is currently ad-hoc signed, so macOS treats each build as a new app. You'll need to re-grant accessibility permission after rebuilding. See code-signing-setup plan for the fix.
Get the latest release from GitHub Releases.
- macOS 14.0+
- Xcode 15+ (for development)
# Build
xcodebuild -project MobCrew/MobCrew.xcodeproj -scheme MobCrew -destination 'platform=macOS' build
# Run tests
xcodebuild test -project MobCrew/MobCrew.xcodeproj -scheme MobCrew -destination 'platform=macOS'Or open MobCrew/MobCrew.xcodeproj in Xcode and use ⌘B (build), ⌘R (run), ⌘U (test).
# Build and run
./scripts/run.sh
# Run tests
./scripts/test.sh
# Run specific test class
./scripts/test.sh RosterTests
# Serve docs locally
./scripts/serve-docs.shSee TESTING.md for the full checklist.
Prerequisites: gh CLI and Node.js (brew install gh node && gh auth login)
./scripts/release.sh <version>See docs/RELEASING.md for the full release process.
flowchart TB
subgraph Phase1["Phase 1: Foundation & Research"]
A[Agent Setup] --> B[Research]
B --> C[PRDs & Planning]
end
subgraph Phase2["Phase 2: Project Scaffolding"]
D[Xcode Project] --> E[Folder Structure]
E --> F[Core Models]
F --> G[Initial Tests]
end
subgraph Phase3["Phase 3: Core Features"]
H[TimerEngine] --> I[FloatingTimer]
I --> J[MenuBar UI]
J --> K[Roster Management]
K --> L[Persistence]
end
subgraph Phase4["Phase 4: Polish & Distribution"]
M[Break System] --> N[Notifications]
N --> O[Global Hotkeys]
O --> P[Settings UI]
P --> Q[Release Automation]
Q --> R[Landing Page]
end
Phase1 --> Phase2
Phase2 --> Phase3
Phase3 --> Phase4
| Phase | Description |
|---|---|
| 1. Foundation | Agent setup, research (Ghostty patterns, Elm→Swift porting), PRD creation |
| 2. Scaffolding | Xcode project, folder structure, core models (Mobster/Roster/TimerState), tests |
| 3. Core Features | TimerEngine, FloatingTimer (NSPanel), MenuBar, RosterView, PersistenceService |
| 4. Polish | UI improvements, breaks, notifications, global hotkeys, settings, release automation |
MIT