Show the bug. Buglensa investigates, reproduces, and routes it.
Buglensa is an autonomous bug investigation agent. A user provides a screen recording, optional voice context, and logs. Buglensa analyzes the evidence, inspects the connected GitHub repository, searches for duplicate issues, creates a bounded reproduction plan, executes it with Playwright, and returns the investigation result with evidence.
Built for the All Things Agentic Hackathon — Taskmaster track.
Production: https://buglens.hakooi.com
- Connects a repository through a GitHub App.
- Accepts a screen recording with optional voice context, logs, or both.
- Uses Gemini to extract bug details and reproduction context from the evidence.
- Investigates relevant files in the connected repository.
- Searches existing GitHub issues for possible duplicates.
- Produces a bounded Playwright reproduction plan using a constrained action set.
- Executes the plan and captures reproduction evidence.
- Presents the analysis, repository findings, duplicate candidates, and reproduction result.
- Creates a GitHub issue only after an explicit user action.
Browser
|
v
Google Cloud Global Application Load Balancer
|-- /* -> Next.js / Cloud Run
`-- /api/* -> FastAPI / Cloud Run
|-- Google ADK + Gemini
|-- Playwright
|-- GitHub App / GitHub API
|-- Cloud SQL PostgreSQL
`-- Google Cloud Storage
Production is same-origin: the frontend and API are served from
https://buglens.hakooi.com, and browser requests use relative /api/* routes.
Web
- Next.js 16
- React 19
- TypeScript
- Tailwind CSS
API and agent
- Python 3.14
- FastAPI
- Google ADK
- Gemini 3.6 Flash
- Playwright
- SQLAlchemy 2
- PostgreSQL
- Alembic
- structlog
Infrastructure
- Cloud Run
- Cloud SQL PostgreSQL
- Google Cloud Storage
- Secret Manager
- Artifact Registry
- Cloud Build
- Global External Application Load Balancer
- Google-managed TLS
.
├── apps/
│ ├── api/
│ └── web/
└── ops/
The full flow requires local PostgreSQL and the required values from each
application's .env.example.
Start the API:
cd apps/api
cp .env.example .env
uv sync
uv run alembic upgrade head
uv run playwright install chromium
uv run fastapi dev app/main.pyStart the web application in another terminal:
cd apps/web
pnpm install
pnpm devThe web application runs at http://localhost:3000 and FastAPI runs at
http://localhost:8000. During development, Next.js proxies /api/* requests
to port 8000.
- Metadata: read
- Contents: read
- Issues: read/write
- The model does not receive arbitrary shell execution.
- Browser reproduction uses a constrained action DSL.
- Production browser execution blocks private-network targets.
- GitHub issue creation requires explicit user action.
- Generate Fix and automatic pull requests are not part of the current core flow.