- Create project directory structure
- Initialize Next.js frontend (
frontend/) - Initialize FastAPI backend (
backend/) - Create env config files (.env.example)
- Create Docker & Cloud Run configs
- config.py — Pydantic Settings, env vars
- main.py — FastAPI app, CORS, REST endpoints
-
websocket.py— WebSocket handler/ws/{session_id} -
browser.py— Playwright browser manager, action executor, screenshot capture - computer_use.py — Gemini Computer Use agent loop
- live_stream.py — Gemini Live API streaming
-
storage.py— Cloud Storage integration -
firestore_client.py— Firestore session/task state -
pubsub.py— Pub/Sub action queue - requirements.txt & Dockerfile
-
globals.css— Accessibility-first dark theme design system -
types.ts— TypeScript types & interfaces - useWebSocket.ts — WebSocket hook with auto-reconnect
-
layout.tsx— App layout shell - page.tsx — Main page assembly
-
TaskInput.tsx— Task input with URL & example tasks -
AgentStatus.tsx— Real-time status & step counter -
ActionFeed.tsx— Live action feed -
ScreenView.tsx— Live screenshot viewer with overlays -
SessionHistory.tsx— Past sessions list - Safety confirmation dialog
- Start backend and verify health endpoint
- Start frontend dev server
- TypeScript type-check (
npx tsc --noEmit) - Visual QA of UI in browser
- Premium Dashboard UI Overhaul (Glassmorphism, Animations, Lucide Icons)
-
docker-compose.yml -
README.mdwith setup, architecture, demo
- Refactor config.py (remove GCS/PubSub config)
- Refactor
storage.pyto save screenshots to local disk - Refactor
pubsub.pyto log actions to local file - Update requirements.txt (drop google-cloud-storage, google-cloud-pubsub)
- Configure necessary IAM roles (
roles/datastore.user,roles/serviceusage.serviceUsageConsumer) - Integrate valid Gemini Computer Use model (
gemini-2.5-computer-use-preview-10-2025) - Start FastAPI and Next.js reliably
- Validate end-to-end mission execution of Universal Digital Accessibility Agent
- Analyze user-provided HTML template
- Integrate Tailwind CSS configuration into Next.js workspace
- Restructure and rewrite page.tsx integrating UI state bindings with Tailwind designs
- Fix Material UI rendering bugs via direct stylesheet injection
- Validate interactions and state updates using Browser Subagentes
- Implement BrowserAdapter interface layer in backend
- Refactor
browser.pyintoplaywright_adapter.py - Create basic Chrome Extension structure (manifest.json, content_script.js, etc.)
- Implement LiveBrowserAdapter and WebSocket communication
- Modify computer_use.py to route commands through selected adapter
- Add 'Execution Mode' toggle to Next.js dashboard UI
- Implement Chrome Extension visual overlay and frame throttling (2-3 FPS)
- Test end-to-end communication and browser control loop
- Modify LiveBrowserAdapter to auto-launch a local Chrome instance using Playwright's
launch_persistent_context - Inject the unpacked UDAA Extension directly into the Chrome instance during startup
- Pass the active
Session IDautomatically to the extension so the user doesn't have to manually connect via the toolbar icon