I build full-stack, cloud-native software, AI models, and high-throughput ML pipelines to streamline analytical workflows in research and production environments. My technology stack includes tools and frameworks such as JAX, TensorFlow, PyTorch, Kubeflow, Ray, Dask, Docker, and Kubernetes.
Remote Sensing
My current research explores how the emerging capabilities of large language models (LLMs) and Agentic AI can help streamline analytical workflows for multimodal remote sensing data, including UAV imagery, satellite observations, LiDAR, and ground-penetrating radar (GPR).
Developer Advocate
Leveraging Google’s recognition as a Google Developer Expert in AI and Google Cloud, I support the open-source and developer communities by sharing content about Generative AI, speaking at developer conferences and meetups, and mentoring students and startups seeking guidance in AI.
Research/Professional Interests
Machine Learning
Deep Learning
Computer Vision
Pattern Recognition
Signal Processing
Remote Sensing (UAV and satellite imagery processing)
VisionOps Crew is a multi-agent computer vision assistant that coordinates specialized agents for planning, dataset curation, model research, ML engineering, notebook prototyping, and implementation support. Built with Google ADK and Antigravity SDK, it turns broad CV requests into structured, executable workflows across Hugging Face, FiftyOne, Jupyter, local hardware, and optional Antigravity SDK execution.
This post presents GemmaEarth, a TPU-native JAX post-training and benchmarking pipeline that adapts Gemma 3 4B IT for Earth observation tasks, starting with multi-label Sentinel remote-sensing scene classification using EarthDial and BigEarthNet.
This post shows how to evolve a single-agent ADK application into a production-ready multi-agent architecture using MCP for distributed tool execution, A2A for inter-agent coordination, and AG-UI for a unified interactive user experience.
This post explores how to integrate AG-UI with ADK to build usable, event-driven agentic applications, with a practical example that combines weather tools and Google Maps context for real-time interactive experiences.
In this post, we build a Retrieval-Augmented Generation (RAG) pipeline from the ground up. Starting with synthetic data generated by Gemini, we create embeddings with both Gemini and Gemma, store them in PostgreSQL with pgvector, and query them through SQLAlchemy. We also visualize the embedding space interactively to reveal semantic structure. Along the way, we demonstrate how semantic search goes beyond keywords and showcase a multi-agent system that automates dataset generation.
Presenting UISurf, our open-source platform for coordinating computer-use agents across web, desktop, and mobile environments, at the Agentic AI Summit 2026.
I enjoyed sharing the Gemmaverse at July’s ATX AICamp, exploring how Gemma models can power AI applications across cloud, desktop, mobile, and edge devices. Thanks to the organizers and everyone who joined for the thoughtful questions and conversations.
Sharing my Google Cloud Community article on VisionOps Crew, a multi-agent assistant for model discovery, dataset curation, experimentation, and implementation.
Reflections on contributing to the AI Race Coach at Sonoma Raceway, processing racing telemetry in real time to support trustworthy on-device coaching.
Sharing my blog post and code for fine-tuning Gemma for multi-label satellite scene classification with Tunix, the JAX ecosystem, and Google Cloud TPUs.