15 years across BI, data engineering and product. I manage a BI team at Amazon Ads, where I led an agentic AI platform on Bedrock AgentCore that saves 50 finance and analytics users 10+ hours each, every week. Outside work, I build AI projects end to end to stay hands-on.

Manager, Business Intelligence for Ads Sales (Twitch Ads, Agency, ADSP, Partner Dev), 2021 to present. I lead a team of 6 BI engineers who own revenue reporting for global Sales, Finance and Compensation teams.
Finance and analytics teams were spending hours every week pulling data, reconciling numbers across sources and rebuilding the same reports. I product-managed an agentic application that does this work for them. A user asks a question or assigns a task in a web app; an agent picks it up in its own isolated AgentCore Runtime session, pulls the data it is allowed to see, computes and reconciles the results, and hands back a CSV, a PDF or an interactive HTML dashboard.
Led the $2MM Tableau Server launch for Ads Finance: a 4-node cluster on EC2 inside the corporate VPC with SAML SSO and Active Directory permissions. Grew to 200+ dashboards.
Moved legacy Redshift SQL jobs to PySpark on EMR, cutting runtime by half and compute cost by $600K a year.
Led reconciliation, gap analysis and revenue-impact assessment across 1,000+ partners, with zero reporting disruption.
I launched my first GenAI product: a Bedrock + Claude 3 chatbot that answers revenue and performance questions in plain English, so sales leaders get numbers without SQL or digging through dashboards. I also launched 10 self-service dashboards that 1,000+ users rely on.
Built in my own time to learn and experiment with agentic AI. These are personal, non-commercial projects, and they are where I prototype ideas before I bring them to work.
A full-stack web app for short-term-rental hosts, co-hosts and cleaners. It syncs Airbnb calendars to create cleaning jobs automatically, tracks recurring maintenance, and runs a quote, approval and invoice flow with role-based dashboards for each person involved.
The part I am proudest of is the AI assistant integration. I built an MCP server with OAuth 2.0 so anyone can connect Claude, ChatGPT or Gemini to their account and run things by chatting: "What needs my attention this week?" gets a real answer from their own data.



My family records short science explainers for kids. I automated everything after the recording, so a narration turns into a finished 1080p episode with very little manual editing.



A home server running 30+ containerized services (Postgres/Supabase, Nextcloud, Immich with local machine learning, Jellyfin and several web apps), secured with Cloudflare Tunnel and Zero Trust login, backed up nightly with encryption to Backblaze B2, and protected by a UPS that shuts it down cleanly. Day to day, I run it with Claude Code and MCP servers rather than by hand.
Agent-driven import with 12,158 duplicates removed and full undo logs.
Clustered by date and GPS, with a review step before any change.
Google Sheets to Python ETL to a dashboard, with reconciliation checks every month.
Ten years in aerospace, first as a technical program manager and then leading data engineering for the Engineering organization. This is where I learned to automate with data, analytics and plain good engineering, years before generative AI.
Market-basket analysis and text similarity over 1M nonconformance records surfaced past fixes for current problems, saving engineers 2+ hours a day.
Automation projects used by 1,000+ engineers, plus a Redshift data warehouse and Power BI reporting for leadership.
Led process improvements as a certified Black Belt using hypothesis testing and designed experiments, and drove an ERP rollout bridging IT and the business.
The rules behind the AgentCore platform at Amazon and my personal AI projects.
Find the hours people lose every week, then decide where an agent helps. The tech choice comes last.
Agents pull from governed datasets and reconcile against the numbers people already trust.
Least-privilege access, approval steps for money and messages, and a log of every action the agent takes.
The AgentCore platform is judged on hours saved every week, not on demos. If it can't be measured, it isn't done.