Skip to content
Geetesh Veeravalli

Case 02 / Floodlight, Inc. · 2025 — present

Austin, Texas

An atmospheric model an agent can call.

Software Engineering Intern, then AI Engineer I

I ported the open-source X-STILT atmospheric transport model from R to typed Python, then built a Model Context Protocol server system that exposes its outputs to LLM agents.

35 %simulation time after the R → Python port
6climate and energy ETL pipelines automated
100 %on-schedule pipeline runs, with alerting
Sculpted topographic terrain with an atmospheric receptor above the valley
Atmospheric intelligence Interactive study
Receptor
Backward particle trajectories
Illustrative footprint

Trace the air back to its source.

A modeled footprint gives the agent structured atmospheric context.

Footprint → structured response
An illustration of the architecture, not a live model call or client data.

Problem

Atmospheric-model outputs need to connect with the software that uses them. This work covered the R-to-Python port of X-STILT, automated climate and energy data pipelines, and a tool interface for LLM agents.

Role

As an intern I owned the data plumbing and the port. As AI Engineer I, I designed and built the MCP server system on top of it and integrated the emissions inventories it needs.

Approach

I automated six climate and energy ETL pipelines using n8n, Google Cloud Storage, and PostgreSQL, with scheduling and alerting. I ported X-STILT from R to typed Python 3.12, reducing simulation time by about 35 percent, then built the MCP server system exposing atmospheric-model outputs to LLM agents. Related work integrated the Vulcan, EDGAR, and ODIAC emissions inventories for Scope 1 and 2 reporting.

Engineering focus

This work brings together scientific computing, typed Python, data orchestration, and agent integration. The MCP interface connects existing model outputs to the agent workflow rather than replacing the science underneath it.

Outcome

An agent can now ask the transport model a question and get structured output back, so the model is a step inside a workflow instead of a job someone runs by hand and reports on later. The port made those calls cheap enough to make often, and the pipelines underneath deliver their data without anyone watching the schedule.

What this demonstrates

I can work across a scientific codebase, the production data infrastructure that feeds it, and the agent-facing interface on top of it without handing any of the three to someone else.

Python 3.12Model Context ProtocolAnthropic APIOpenAI APIn8nGCSPostgreSQL

Next case / ASU LightWorks

A digital twin for a million acres.