Project
Menu Bar Widgets
Native Swift app + SwiftBar scripts:a command center living in the macOS menu bar
Overview
A collection of menu bar tools that give me instant visibility into my AI-powered operating system without context switching. Combines a native SwiftUI app for task management with SwiftBar scripts for system monitoring.
The hybrid approach makes sense: SwiftBar is perfect for status indicators that just need to display info and trigger actions, while native Swift is necessary for interactive UIs like task management with hover states, tabs, and forms.
TodoMenuBarNative Swift
A full SwiftUI menu bar app for managing todos and initiatives. Uses MenuBarExtra with window style for a floating panel with complete interactivity.
Three Tabs
- • Todos:Immediate tasks with complete/delete on hover
- • Initiatives:High-level goals with status toggle
- • Done:Completed items with restore/delete options
Categories
- • PURPOSE:Purpose AI work
- • TRADERS LAUNCH:TL operations
- • LIFE:Personal tasks
Priority & Status Indicators
Todo Priority
- High
- Medium
- Low
Initiative Status
- ◆Active:currently in progress
- ◇Planned:queued for later
Full CRUD
- • Add:Quick-add forms for todos and initiatives with category/priority pickers
- • Complete:Hover to reveal checkmark, moves to Done tab
- • Toggle Status:Click initiative diamond to switch active ↔ planned
- • Restore:Move completed items back to their original category
- • Delete:Permanently remove items (hover to reveal trash icon)
Auto-refreshes every 30 seconds · Reads/writes todos.json and initiatives.json
Ops Control TowerSwiftBar
Shows automation health at a glance. Reads from automation-status.json which is continuously updated by background agents.
- • Health score percentage with color coding (green/orange/red)
- • Failed automation list with one-click log access
- • Warning indicators for stale runs or missed schedules
- • "Kick" button to restart the health monitor agent
- • Opens automation dashboard HTML for full details
Refreshes every 2 minutes · ops-control-tower.2m.py
Claude WaitingSwiftBar
The "attention required" indicator. When Claude Code sessions are waiting for my input (question asked, approval needed, etc.), this badge appears with a count.
- • Red badge with count when sessions need attention
- • Dropdown lists each waiting session with project name and age
- • Click to jump directly to that iTerm tab (via AppleScript)
- • Auto-cleans dead sessions by checking iTerm GUIDs
- • Warning indicators for sessions approaching 48h timeout
Refreshes every 2 seconds · claude-waiting.2s.sh
Architecture
The hybrid approach emerged naturally: SwiftBar's script-based model is perfect for status displays but hits limits with interactive UIs. The menu closes on any click action, making tabbed interfaces painful (open menu → click tab → menu closes → reopen menu).
Native Swift (TodoMenuBar)
- • Full SwiftUI with hover states
- • Persistent floating window
- • Tab switching without menu close
- • Input forms and pickers
- • Built with xcodegen + xcodebuild
SwiftBar Scripts
- • Python/Bash scripts
- • Status indicators and badges
- • Click-to-action commands
- • Perfect for monitoring
- • Fast to iterate on
Both share the same JSON state files in ~/life-os/:the same files Claude Code reads and writes. It's a shared state layer between the menu bar and the AI.
Source
TodoMenuBar: ~/life-os/apps/TodoMenuBar/:installed to /Applications
SwiftBar scripts: ~/life-os/widgets/swiftbar/:symlinked to SwiftBar plugin directory
Part of the larger life-os system.