Inspiration
Every day, millions of people perform repetitive tasks across websites - filling forms, searching for information, navigating complex UIs. What if an AI agent could just see the screen and do it for you?
Current browser automation tools require site-specific selectors, APIs, or DOM access. They break when websites update. GeminiNav takes a fundamentally different approach: it looks at the screen like a human would, understands what it sees using Gemini's multimodal vision, and takes action.
What it does
GeminiNav is a universal visual web automation agent. Give it a natural language instruction like "Search Google for climate change news and summarize the top result" and it will:
- Screenshot the current browser page
- Analyze the screenshot using Gemini 2.5 Flash vision
- Decide what action to take (click, type, scroll, navigate)
- Execute the action via Puppeteer
- Repeat until the task is complete
It works on ANY website with zero configuration. No selectors, no APIs, no site-specific code.
Key Features
- Universal compatibility - works on any website without configuration
- Natural language tasks - describe what you want in plain English
- Visual step log - see screenshots and actions at every step
- Smart termination - knows when a task is done (max 20 steps)
- Concurrent sessions - multiple users can automate simultaneously
How we built it
Architecture:
- Backend: Node.js + Express hosted on Google Cloud Run
- Browser Engine: Puppeteer with headless Chromium
- AI: Google GenAI SDK with Gemini 2.5 Flash (vision model)
- Frontend: Clean web UI with real-time step visualization
The Agent Loop:
User instruction → Screenshot page → Send to Gemini Vision →
Parse action (click/type/scroll/navigate) → Execute via Puppeteer →
Screenshot again → Repeat until done
Each step produces a JSON response from Gemini specifying the action type, coordinates, and text. The agent validates and executes each action, then captures a new screenshot for the next iteration.
Challenges we ran into
- Screenshot-to-action accuracy - Gemini sometimes identifies elements slightly off-center. We added coordinate validation and retry logic.
- Knowing when to stop - The agent needs to recognize task completion. We implemented a "done" action type that Gemini can emit when the goal is achieved.
- Page load timing - Screenshots taken before page renders lead to incorrect actions. Added intelligent wait states between actions.
- Concurrent browser sessions - Each user needs an isolated browser context. Puppeteer's browser contexts solved this cleanly.
Accomplishments we're proud of
- Zero-config universality - truly works on any website
- Sub-3-second per step - fast enough to feel interactive
- Clean architecture - the entire agent loop is ~100 lines of code
- Google Cloud native - runs on Cloud Run with automatic scaling
What we learned
- Gemini 2.5 Flash's vision capabilities are remarkably accurate for UI element identification
- The screenshot-analyze-act loop is a powerful paradigm for visual automation
- Keeping the agent loop simple and deterministic produces more reliable results than complex planning
- Google Cloud Run + Puppeteer work surprisingly well together with the right Dockerfile setup
What's next for GeminiNav
- Multi-step task planning - break complex tasks into subtasks
- Memory across sessions - remember user preferences and login states
- Voice control - combine with Gemini Live API for hands-free web navigation
- Browser extension - run as a Chrome extension for even easier access
- Enterprise workflows - automate repetitive business processes across SaaS tools
Log in or sign up for Devpost to join the conversation.