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.
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
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://