Skip to content

nkraus/LobbyDrop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LobbyDrop

A lightweight macOS menubar app for quick message dispatch with voice input, clipboard images, and global hotkeys.

LobbyDrop lives in your menubar as a tiny lobster emoji. Press a hotkey, type or dictate a message, optionally attach a screenshot, and fire it off to an OpenClaw agent, a Slack channel, or a vibe-kanban board.

Buy Me A Coffee

Features

  • Global hotkeys — summon the app from anywhere with customizable key combos
  • Voice input — dictate messages using Apple's on-device speech recognition (free, no API keys)
  • Clipboard images — auto-detects recently copied screenshots; manual paste too
  • Three delivery modes:
    • Agent — send to an OpenClaw agent
    • Agent+Slack — send to agent with Slack relay
    • Kanban — create issues on a vibe-kanban board via Claude CLI
  • Auto-stop recording — configurable silence timeout (2–15 seconds)
  • Fully configurable — all hotkeys, paths, and settings adjustable in-app

Requirements

  • macOS 13 (Ventura) or later
  • Swift 5.9+ (for building from source)
  • OpenClaw CLI (for Agent/Slack modes)
  • Claude CLI (for Kanban mode)

Installation

Build from Source

git clone https://github.com/nkraus/LobbyDrop.git
cd LobbyDrop
swift build -c release

Run

# Run directly
.build/release/LobbyDrop &

# Or copy to a convenient location
cp .build/release/LobbyDrop /usr/local/bin/
LobbyDrop &

Launch at Login (optional)

Add LobbyDrop to System Settings > General > Login Items or create a LaunchAgent:

mkdir -p ~/Library/LaunchAgents
cat > ~/Library/LaunchAgents/com.lobbydrop.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.lobbydrop</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/LobbyDrop</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
EOF

Usage

Quick Start

  1. Build and launch LobbyDrop
  2. Look for the lobster emoji in your menubar
  3. Press Control+Option+L (or click the lobster) to open
  4. Type a message and press Cmd+Return to send

Global Hotkeys

Default Action
Control+Option+L Toggle main popover
Control+Option+K Open in Kanban mode
Control+Option+R Toggle voice recording

All hotkeys are customizable — click the gear icon, then "Record" next to any hotkey to set a new combo.

Voice Input

  1. Press Control+Option+R or click the mic icon
  2. Speak your message — live transcription appears below the text field
  3. Press the hotkey again, click the mic, or just wait for the silence timeout
  4. Transcribed text is inserted into the message field for editing before send

Clipboard Images

  • Auto-detect: If you copy a screenshot within 20 seconds of opening LobbyDrop, it auto-attaches
  • Manual paste: Click the clipboard icon to attach any recent image
  • Remove: Click the X on the image preview to remove it

Delivery Modes

Agent — Sends your message to an OpenClaw agent via the CLI. The agent processes it and delivers a response.

Agent+Slack — Same as Agent, but also relays the agent's response to a configured Slack channel.

Kanban — Creates an issue on a vibe-kanban board. Uses Claude CLI in pipe mode to determine title, description, and priority from your message.

Configuration

Click the gear icon in the popover header to access settings.

Voice Settings

Setting Description Default
Language Speech recognition locale English (US)
On-device Force on-device processing (no network, more private) Off
Silence Auto-stop timeout after last speech detected 5s

Advanced Settings

Click "Advanced" in settings to configure paths and integrations.

Setting Description Default
OpenClaw Path to openclaw CLI binary /usr/local/bin/openclaw
Claude CLI Path to claude CLI binary /usr/local/bin/claude
Slack target Slack channel ID for message relay (empty)
Project name Display name for kanban project My Project
Project ID vibe-kanban project UUID (empty)
Work dir Working directory for kanban commands (empty)

Setting Up Integrations

OpenClaw (Agent mode)
  1. Install OpenClaw and ensure openclaw is in your PATH
  2. Configure at least one agent: openclaw agents list
  3. Set up a Slack channel if using Agent+Slack mode
  4. In LobbyDrop settings, verify the OpenClaw path and set your Slack target channel ID
Kanban (vibe-kanban)
  1. Install Claude CLI: npm install -g @anthropic-ai/claude-code
  2. Install vibe-kanban: npm install -g vibe-kanban
  3. Set up a vibe-kanban project and note the project UUID
  4. In LobbyDrop Advanced settings, configure:
    • Claude CLI path
    • Project ID (the UUID from vibe-kanban)
    • Work dir (your project's root directory — must have a .claude/ config with vibe-kanban MCP server)
    • Project name (used in the prompt sent to Claude)

Permissions

On first use, macOS will prompt for:

  • Microphone — required for voice input
  • Speech Recognition — required for transcription

Grant both in System Settings > Privacy & Security.

How It Works

LobbyDrop is a pure Swift Package Manager project — no Xcode project file needed.

  • NSStatusItem + NSPopover for the menubar UI
  • Carbon RegisterEventHotKey for global hotkeys (no Accessibility permission needed)
  • NSPasteboard polling for clipboard image detection
  • SFSpeechRecognizer (Apple Speech framework) for free on-device transcription
  • Process to shell out to openclaw and claude CLIs

All settings are stored in UserDefaults under LobbyDrop.* keys.

Keyboard Shortcuts

Shortcut Action
Cmd+Return Send message
Cmd+C/V/X/A Copy/Paste/Cut/Select All in text field

License

MIT

Support

LobbyDrop is free and open source — and actively maintained.

Buy Me A Coffee

Feature Requests & Contributions

Got an idea? Open an issue — I ship fast and love building what people actually need. Bug reports, feature requests, and PRs are all welcome.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages