Hi, I'm
Designing the data pipelines, platforms, and AI-powered systems that keep data moving reliably across global operations.
@dag(schedule="@daily") def enterprise_pipeline(): raw = glue_transform(layer="raw") refine = glue_transform(layer="refine") notify = ses_notify(on="success") raw >> refine >> notify
I'm a Data Engineer II at Amazon with 5+ years of experience designing and owning large-scale data infrastructure. I build end-to-end pipelines, event-driven architectures, and AI-powered automation systems that serve thousands of stakeholders across global operations.
I specialize in building automated data systems that eliminate operational toil, ranging from AI-powered metadata enrichment to event-driven pipeline monitoring at scale.
Data Engineer II
May 2024 – Present · Austin, TXData Engineer
Apr 2022 – Apr 2024 · Seattle, WAAssociate Data Engineer
Jun 2021 – Apr 2022 · Greater Chicago AreaGraduate Teaching Assistant
Jan 2020 – May 2021 · Fairfax, VAArchitected and built the core data lake platform powering analytics across multiple business domains. Implemented a 4-layer medallion architecture (Landing → Raw → Transform → Refine) with intelligent compute selection: Lambda for lightweight jobs, AWS Glue for distributed transforms, and EMR Serverless for high-volume processing. Applied Apache Iceberg on fleet telemetry and UAT comparison datasets in the transform layer for ACID compliance and time travel capabilities. Built an AI agent with specialized tools and skills, deployed on Bedrock AgentCore, that automatically triggers when a pipeline failure ticket is created. The agent analyzes the root cause using its domain knowledge and posts a detailed analysis comment directly on the ticket, reducing mean time to resolution from 4-5 days to 1-2 days.
Built the backend service to bulk register 6,000+ datasets into the enterprise data catalog, replacing a manual one-by-one onboarding process that took ~30 minutes per table. Users select datasets from a dropdown of available data lake tables through a self-service UI and submit for bulk registration. Engineered an AI enrichment pipeline using a Strands Agent on Bedrock AgentCore that auto-generates table descriptions, column metadata, and READMEs. The agent uses specialized tools to read classification wikis and profile data by querying it directly, enabling automated data classification during enrichment. Built a schema drift detector that auto-detects metadata changes and triggers incremental re-enrichment, updating only affected columns rather than reprocessing entire datasets.
Built a self-service conversational AI interface hosted on CloudFront where users chat with an agent deployed on an internal AI agent platform to onboard new data sources into the enterprise data lake. The agent collects source type, connection parameters, and table details through conversation, then validates all required permissions before proceeding, reducing onboarding time from half a day to 30 minutes. Validated configurations are stored in dev DynamoDB and a dev pipeline is triggered automatically. On successful dev run, a developer can selectively promote configurations to production on-demand, replacing a weekly deployment cycle. Production DynamoDB serves as the input parameter store for the full data lake pipeline across landing, raw, and transform layers. Instrumented with OTLP observability via Langfuse for full tracing of agent interactions and tool calls.
Decommissioned 9 legacy project management tools and migrated 600+ users across Europe to a single unified data platform in a planned one-day cutover with zero data loss. Owned schema mapping for 50+ tables, authored SQL and Glue backfill scripts, and built compatibility pipelines to support downstream tool dependencies. Migrated risk data from legacy systems into DocumentDB and implemented hourly S3 flattening for downstream consumption.
Replaced manual email-based failure notifications for warehouse collision-avoidance sensors with an event-driven ticket routing system. Built with Lambda and AWS CDK, the system automatically parses failure notifications, creates tickets, and routes them to the responsible team. Multiple failures for the same device consolidate into a single ticket, and transient failures are auto-resolved when devices recover, ensuring teams focus only on persistent issues rather than noise. Eliminated ~200 daily manual email reviews across facilities with 800+ operators.
Engineered data extraction pipelines to ingest fleet telemetry from multiple PIT vendors (Raymond and Hyster) operating across US and European fulfillment centers, pulling from 40+ paginated API endpoints with varying data retention windows of 1 to 5 days. Executed a 2-year historical backfill into the enterprise data lake and replaced a legacy Redshift cluster with a lake-native workflow. Pipeline template was reused across multiple vendor integrations, reducing onboarding time for new vendors.
Built dual-source pipelines to support a phased migration from legacy Excel macros to a modern web application for construction project management, covering purchase orders, change orders, weather logs, and cost summaries. Reverse-engineered VBA macro logic, retrofitted 15 tables with complex multi-dataset joins, and handled sequential update dependencies to maintain data integrity. Pipeline template was adopted by two additional regional teams.
Diagnosed and resolved a 1TB executive analytics pipeline running 40+ hours. Root cause: only 10GB of data was needed for reporting. Redesigned the pipeline with cross-account S3 crawlers, SparkSQL partition pruning, and targeted data filtering at the transform stage, cutting runtime from 40 hours to 30 minutes. Unblocked weekly executive reporting that multiple business units depended on.