Confluo: ExperimentOps & Scientific Memory

About the Project

Confluo was born from a common frustration in laboratory environments: scientific data often becomes stranded between analysis and action. Researchers generate results, but those results require manual coordination—moving files, running scripts, formatting reports, and comparing new data against historical baselines—before they become useful insights.

We wanted to build an agent that does more than just answer questions about data. We set out to build an ExperimentOps assistant—an agent capable of understanding an experimental context, autonomously orchestrating the required analytical tools, and synthesizing the results with the lab's historical memory.

Confluo focuses on automating routine analytical workflows. By connecting Google Drive for data ingestion/export, R scripts for robust statistical analysis, and Elasticsearch for institutional memory, we created an agent that manages the end-to-end lifecycle of an experiment.

What Inspired Us

Our primary inspiration was closing the gap between conversational AI and operational execution. In scientific work, the bottleneck is rarely generating a number; it is the coordination required around it: locating the correct raw data, running standardized assays, storing the outputs properly, and contextualizing the result against past experiments. We wanted an agent that handled this orchestration naturally.

We were equally inspired by the flexibility of modular agent architectures. Instead of hardcoding a monolithic pipeline, we built Confluo around the Model Context Protocol (MCP). This ensures the platform can easily be extended to support new scientific instruments and analytical workflows in the future—such as GC-MS (Gas Chromatography-Mass Spectrometry), LC-MS (Liquid Chromatography-Mass Spectrometry), or plate readers—to enable even more complex and complete multi-dimensional chemical analyses.

How We Built It

Confluo operates as a Node.js service that exposes local analytical and export tools via MCP. We utilize Google Cloud Agent Builder as the orchestration engine, empowering the agent to reason through workflows and execute tasks via the local server.

The high-level architecture flows as follows:

  1. User Intent: The user instructs the agent via chat or a structured UI prompt (e.g., "Run a dose-response analysis for the Erythroxylum subsessile extract").
  2. Data Ingestion: The agent uses Elastic MCP tools to securely scan the connected Google Drive for raw experimental data (CSV, ZIP).
  3. Execution: Guided by the agent, the Elastic MCP server provides the necessary tools to execute the backend R scripts, performing the core statistical analyses (e.g., Dose-Response/LD50 calculations or H NMR fingerprinting).
  4. Institutional Memory: Results are indexed into Elasticsearch, acting as the lab's persistent "scientific memory."
  5. Contextual Decision-Making: The agent queries Elastic for historical data on similar compounds to flag anomalies, such as potency shifts or NMR mismatches.
  6. Reporting: A comprehensive, markdown-formatted evidence packet (with generated plots uploaded to Google Cloud Storage) is exported back to the user's Google Drive.

By integrating an Elastic MCP proxy, the agent seamlessly interacts with Elasticsearch to compare current assay metrics against historical baselines.

What We Learned

We learned that effective agent design is fundamentally about interface and tool design. The underlying LLM is powerful, but its reliability is entirely dependent on well-defined tool schemas, clear prompts, and structured response formats. If the tools are ambiguous, the agent's behavior becomes unpredictable.

Session handling and user experience proved equally critical. Ensuring seamless authentication flows (like our Google Drive OAuth integration) and providing clear, actionable UI feedback are the differences between a compelling product and a frustrating prototype.

Ultimately, we realized that a truly useful agent isn't just a chatbot with plugins—it requires deterministic orchestration, reliable state management, and the ability to produce outputs that fit seamlessly into existing human workflows.

Challenges We Faced

A primary challenge was maintaining consistent agent behavior across different interaction surfaces (the standalone chat UI, the MCP proxy, and the Google Agent flow). Standardizing tool expectations and prompt structures was necessary to achieve reliability.

We also had to balance machine-readability with human-readability. The system needs structured JSON to interact with Elasticsearch and Google Drive, but users need clear, narrative scientific explanations. Bridging this gap required careful iteration on how the agent synthesizes raw data into its final reports.

Finally, managing the practical complexities of OAuth flows, file system access, and public URL generation for plots took significant engineering effort to ensure the demo felt polished and robust.

Why It Matters

Confluo demonstrates how AI agents can evolve beyond simple Q&A to become vital workflow coordinators. It doesn't just tell a researcher what steps to take; it executes them.

By combining the reasoning capabilities of Google Agent with the search and storage power of Elastic, Confluo represents the kind of agent we believe is the future of work: one that can plan, execute, and contextualize complex tasks across connected systems to accelerate real-world scientific discovery.


Demo Resources

DL50 / Dose-Response Raw Data:

NMR 1H Raw Data:

Built With

Share this project:

Updates