Skip to content
Honorable Mentions

VibeCat

Your proactive desktop companion. VibeCat watches your screen via Gemini Live API, suggests actions before you ask, and executes with self-healing navigation. Built with GenAI SDK + ADK on Cloud Run.

Core trick

Gemini Live streams screen frames, proposes an action by voice, and executes it only after approval, using accessibility-tree lookups with vision fallback.

Tags

Built with

appkitartifact-registryavfoundationchromedpcloud-buildcloud-loggingcloud-monitoringcloud-runcloud-tracecoregraphicsdockerfirestoregemini-live-apigenai-sdkgithub-actionsgogoogle-adkrest-apiscreencapturekitsecret-managerswift6vadwebsocket

Description

Inspiration "Every AI tool waits for your command. But what if one didn't?" Solo developers ship alone, debug alone, and celebrate alone. Every AI coding tool today is reactive — it waits for you to type a command. The context switch is the real cost: you break flow to talk to the AI, and lose minutes of mental re-entry time. We wanted to flip this model entirely — an AI that watches your screen, recognizes opportunities, and speaks up first. What it does VibeCat is a native macOS desktop companion that watches your screen, understands your context, and proactively suggests actions before you ask. It follows the core loop: OBSERVE → SUGGEST → WAIT → ACT → FEEDBACK Sees your screen via Gemini Live API's real-time vision Suggests actions in natural voice ("I notice a missing null check — want me to fix it?") Waits for your permission before acting Executes via 5 function calling tools with self-healing navigation Verifies results through vision-based screenshot analysis Three demo scenarios: YouTube Music playback, code enhancement in IDE, and terminal command execution. How we built it macOS Client (Swift 6.2 + AppKit): Native screen capture, microphone input, voice playback, and local action execution with 131 tests across 20 test files. 80+ key codes mapped for full keyboard control. A floating NavigatorOverlay HUD shows grounding source badges (AX/Vision/Hotkey/System) in real-time. Realtime Gateway (Go + GenAI SDK v1.49.0): WebSocket bridge to Gemini Live API. Manages the pendingFC sequential execution queue — each function call completes and verifies before the next begins. Self-healing retries with alternative grounding sources on failure. ADK Orchestrator (Go + ADK v0.6.0): Handles vision verification — captures post-action screenshots, analyzes them with Gemini, and confirms success before proceeding. Runs on Cloud Run alongside the gateway. Challenges we ran into YouTube Music renders controls on <canvas> — invisible to the macOS Accessibility tree. Solved with triple-source grounding: AX → CDP (chromedp) → Vision coordinates. Gemini sometimes hallucinates tool usage without actually calling the function. Fixed by using real voice input instead of programmatic text injection. Sequential multi-step execution required the pendingFC mechanism to prevent race conditions when Gemini batches multiple function calls. Accomplishments that we're proud of VibeCat proactively spoke first 5/5 times during live testing — without being prompted Self-healing pushed YouTube Music success rate from 62% to 94% 18 dev.to blog posts documenting the entire journey Full automated deployment pipeline via infra/deploy.sh What we learned Proactive AI is fundamentally harder than reactive AI — knowing when to speak vs. stay silent Vision verification catches dozens of silent failures that "execute and hope" misses Transparent narration (showing what the AI is doing) is more important than the retry logic itself 5 FC tools was the right constraint — fewer choices = more reliable function calling What's next for VibeCat Multi-monitor support and per-app context awareness Plugin system for community-contributed tool declarations Collaborative mode for team pair programming sessions
Two-Weeks-Team/vibeCat★ 40 forksGoMITCreated Mar 3, 2026 · last push Oct 19, 2026

README excerpt

<p align="center">
  <img src="Assets/Sprites/cat/idle_01.png" width="120" alt="VibeCat">
</p>

<h1 align="center">VibeCat</h1>

<p align="center">
  <strong>Your Proactive Desktop Companion — an AI that sees your screen, suggests before you ask, and acts with your permission.</strong>
</p>

<p align="center">
  <a href="https://cloud.google.com/blog/topics/developers-practitioners/winners-and-highlights-of-the-gemini-live-agent-challenge"><img src="https://img.shields.io/badge/Gemini_Live_Agent_Challenge_2026-Honorable_Mention-FFD700?style=flat-square&logo=google&logoColor=white" alt="Gemini Live Agent Challenge 2026 — Honorable Mention"></a>
  <a href="https://geminiliveagentchallenge.devpost.com/"><img src="https://img.shields.io/badge/Gemini_Live_Agent_Challenge-2026-4285F4?style=flat-square&logo=google&logoColor=white" alt="Challenge"></a>
  <img src="https://img.shields.io/badge/category-UI_Navigator-0F9D58?style=flat-square&logo=googlechrome&logoColor=white" alt="Category">
  <img src="https://img.shields.io/badge/platform-macOS_15%2B-000000?style=flat-square&logo=apple&logoColor=white" alt="Platform">
  <img src="https://img.shields.io/badge/Swift-6.2-F05138?style=flat-square&logo=swift&logoColor=white" alt="Swift">
  <img src="https://img.shields.io/badge/Go-1.26.1-00ADD8?style=flat-square&logo=go&logoColor=white" alt="Go">
  <img src="https://img.shields.io/badge/GCP-Cloud_Run-4285F4?style=flat-square&logo=googlecloud&logoColor=white" alt="GCP">
  <img src="https://

Team