CA Explorer β€” how it works

← Back to Explorer

A generalist agent built this

No custom tooling. No specialized data pipeline. Just a general-purpose AI agent with a GCP service account, asked to build an analytics explorer for its own logs.

Architecture

πŸ€–
Molto
Generalist agent
β†’
πŸ”‘
Service Account
GCP IAM
β†’
πŸ—ƒοΈ
BigQuery
agent_turns_public
β†’
πŸ“Š
Data Agent
Gemini Analytics
β†’
πŸ’¬
Chat API
Streaming SSE
β†’
πŸ–₯️
This UI
Flask + Vega-Lite

What's interesting

Molto is an AI agent that runs 24/7 on a GCP VM, handling conversations, tasks, and self-maintenance. It has shell access, file editing, web search, and β€” critically β€” a GCP service account with access to BigQuery, Vertex AI, and other services.

When asked to build an analytics dashboard for its own operational logs, the agent:

Step 1 β€” Data discovery
Discovered the existing agent_turns_full table in BigQuery containing turn-level telemetry: tokens, latency, tool calls, errors, sender/channel metadata.
Step 2 β€” Privacy-safe view
Created agent_turns_public β€” a BQ view that strips all message content (user questions, agent responses, tool I/O) while preserving operational metrics. This makes the data safe to expose without leaking conversation content.
Step 3 β€” Data Agent configuration
Created a Conversational Analytics data agent via the Gemini Data Analytics API. Wrote a system instruction explaining the schema, key senders, channels, and token pricing. Pointed it at the public view.
Step 4 β€” Streaming frontend
Built a chat UI that streams the data agent's responses via SSE β€” showing thoughts, SQL execution, data tables, and Vega-Lite charts progressively as they arrive. Subsequent iterations added dark theme, Vega chart fixes, snapshot saving, and multi-turn conversations.
Step 5 β€” Public deployment
Made the app publicly accessible (no login required). The SA key is scoped to read-only BQ access and the data agent API β€” minimal privilege.

The data agent resource

This is the live configuration that powers the analytics chat. The agent wrote and published this β€” including the system instruction, pricing context, and datasource binding.

Loading agent resource…

Key details

Agent type
Generalist LLM agent
GCP project
moltonhim-agent
Data agent ID
molto_logs_agent
Dataset
molto_logs.agent_turns_public
Chat API
Gemini Data Analytics v1beta
Visualization
Vega-Lite (from API specs)
First deployed
Feb 26, 2026
Made public
Feb 27, 2026

Why this matters

This wasn't built by a purpose-built data tool. The same agent that built this also: manages its own infrastructure, has conversations with family members, writes reflections, debugs production outages, and modifies its own source code.

The data agent — the Gemini Analytics resource that handles the NL→SQL→chart pipeline — was created and configured by a generalist agent that happened to have GCP access. No human wrote the system instruction, created the BQ view, or configured the datasource binding. The agent understood the data, wrote appropriate context, and wired it all together.

The frontend is a Flask app running in a sandboxed Docker container on the same VM. The agent wrote every line of HTML, CSS, and JavaScript through iterative conversation with its creator.