
Bark!
Listens through your Mac's microphone while you're out, and sends you a Telegram message when your dog barks or whimpers.
Download for macOSSet up in 10 minutes
You need a Mac and the Telegram app. Nothing else.
Step 1 — Download
Grab the archive above and unzip it (double-click the .zip file if it doesn’t unzip automatically). You’ll get a folder called bark_monitor.
Step 2 — Run the installer
Open the bark_monitor folder and double-click install.command.
A black Terminal window will open and start setting things up. This is normal — just follow what it says on screen:
- It may show an Apple popup asking to install “Command Line Tools” — click Install and wait for it to finish, then go back to the Terminal window and press Enter.
- It may ask for your Mac password (for Homebrew) — type it and press Enter. (Nothing will show on screen while you type — that’s normal, just type and hit Enter.)
- It will download and install Python, TensorFlow, and everything else it needs. This is the slow part — grab a coffee.
Step 3 — Connect Telegram
No need to create a bot or look anything up. Partway through, the installer opens Telegram for you with a chat already started — just tap Start there.
The Terminal window is waiting for that tap and continues on its own once you do — nothing to type or copy.
Step 4 — First launch
The installer finishes by opening Bark!. The first time, macOS will refuse to open it (“unidentified developer”) — this is expected, it’s not from the App Store:
- Open Applications in Finder, find Bark!.
- Right-click (or Control-click) it → Open → click Open again in the popup.
Bark! will ask for microphone access — click Allow. Without this it can’t hear anything.
Using it
- Click Start. Give it 20-30 seconds to load the sound model, then it’ll say “Listening”.
- You’ll get a Telegram message when monitoring starts and stops, and whenever it hears barking or whimpering.
- Open Logs Folder shows past sessions.
If something’s not working
- No sound events ever, even when the dog barks: check System Settings → Privacy & Security → Microphone, and make sure Bark! is switched on there.
- App won’t open at all: make sure you right-clicked → Open (see Step 4), not double-clicked.
- Installer stops with an error: it’s safe to just double-click
install.commandagain — it picks up where it left off.
Technical details, for the curious
The app is a native macOS SwiftUI client that spawns a Python process as its detection engine: it listens to the microphone via sounddevice and classifies audio in real time with YAMNet (TensorFlow Hub) — recognizing barking, howling, growling, and, most importantly, whimpering (which usually precedes barking in separation anxiety). The Python engine emits structured events to stdout, which the Swift wrapper parses to drive a live “what I’m hearing right now” feed and to control starting/stopping sessions.
Notifications go out over Telegram in two modes. The direct mode talks to your own bot. The shared mode goes through a relay: a separate Docker service on a VPS that’s the only thing holding the real bot token — the client app never sees it. Instead, on first launch it goes through pairing via Telegram: the user taps Start, the relay picks that up via getUpdates, binds the code to their chat_id, and issues a unique notify_token scoped to just that one recipient. A leaked token can’t do anything beyond messaging that same person — unlike the bot token, it doesn’t need to be kept secret.
Distribution is a single install.command that installs Xcode CLT/Homebrew/Python if missing, builds the .venv, compiles the app, and runs the pairing flow — the only thing the user actually does is tap once in Telegram, no terminal, no manual config editing.