I’m a Data & Analytics Engineer who turns messy data into decision-ready insight. I work with Snowflake, Airflow, dbt, Power BI, and thoughtful modeling that business users actually adopt.
I treat data like a product. Contracts, lineage, and quality get the same rigor as code. I challenge assumptions and hunt for the simple design beneath complexity.
Outside of work, I explore ideas across tech and economics, and refine them until I can explain them simply.
A clear line from inputs to outcomes. Showing the levers pulled and the measurable results they created
Inventory Aging
Built a unified item–vendor data model across 10+ ERPs
Introduced a decision layer to identify and flag “dead inventory”
Partnered with sales to prioritize selling older stock first
Created materialized marts with contract tests to ensure accuracy
Result: ~60% reduction in dead inventory and significant warehousing cost savings
Quality Inspection
QC images centralized in Azure Blob storage
Models exposed as image URLs and visualized them
Ops PowerBI dashboard with drillable defects
Increased visibility of defects across the division
Result: ~30% faster inspection cycles and clearer root causes
Service Desk Response
Capability mapping with a bridging mechanism across 12 teams
Streamlined weekly Change Management process
Automated snapshots in dbt to maintain history
Improved workload visibility for proactive staffing
Result: ~15% reduction in response time and better staffing
Building Warehouse Management System
Designed end-to-end data architecture to integrate ERP, IoT, and inventory modules
Implemented real-time stock visibility and location tracking
Developed automated replenishment and picking logic
Integrated reporting layer with KPIs for throughput, accuracy, and turnaround time
Result: ~25% faster order fulfillment, reduced stockouts, and improved warehouse efficiency
Canonical Models for Yield
Unified yield data definitions across multiple plants and ERPs
Standardized transformation logic in dbt for consistent metrics
Automated historical snapshots to track yield trends
Exposed models to BI tools for plant-level and enterprise-wide analysis
Result: ~20% improvement in yield reporting accuracy and faster operational decision-making
Procurement Cost Saving
Consolidated purchasing data across 10+ ERPs for spend visibility
Identified price discrepancies and vendor performance gaps
Trigger negotiations for better contracts based on data-driven insights
Implemented tracking to ensure sustained cost savings
Result: ~12% reduction in procurement costs and improved vendor terms
The Data Lifecycle
I work end-to-end. Click bars to see how.
AI / ML
Testing / Experimentation
Reporting / Business Intelligence
Data Transformation / Stewardship
Storage / Data Engineering
Collection / Source Systems
Collection / Source Systems
ERPs, apps, IoT via Fivetran/Boomi/custom connectors/Azure Functions. CDC/events designed with data contracts from the start.
Technologies I use
Depth over logos. What I run in practice.
Ingest & Store • Model & Transform • Serve & Observe
Ingest & Store
FivetranAirbyteKafkaEvent HubS3/BlobSnowflake
CDC and batch connectors with cost guardrails
Staging schemas with freshness tests
Multi-zone storage and retention strategy
Model & Transform
dbtSQLPythonGreat ExpectationsData Contracts
Medallion + Kimball hybrid
Contracts, lineage, and CI checks on PR
Snapshotting and slowly changing dimensions
Serve & Observe
Power BIMetrics LayerAPIsdbt SemanticAirflow
Metric definitions shared across tools
Drillable dashboards with SLAs
Observability and cost tracking
What informs my approach
Designing Data-Intensive Applications by Martin Kleppmann
A deep dive into building reliable, scalable, maintainable data systems. It shapes how I design ingestion, storage, and serving so insights are trustworthy and timely.
Fundamentals of Data Engineering by Joe Reis & Matt Housley
Pragmatic trade-offs across ingestion, modeling, orchestration, and consumption. Clarifies ETL vs ELT choices and how to build systems that last beyond the first quarter.
The Making of a Manager by Julie Zhuo
Tactics for setting expectations, giving feedback, and building trust. Guides how I mentor engineers and run projects without surprises.
A Fun Activity : ETL vs ELT
See what I do, like a 10 year old 😉 → cleaned data through stages. ETL = Transform before Load. ELT = Load before Transform.
Choose flow and run
Interactive
Extract → Transform → Load
1. Extract
id
item
price
1
nitrile gloves
13$
2
NITRILE GLOVES
1.5 $
3
Gloves, nitrile
$7
4
nitrile glove
$12.00
5
gloves-nitrile
USD 5
6
nitrilegloves
02$
7
Glove: Nitrile
10.5$
2. Transform
id
item
price
1
Nitrile Gloves
$13.00
2
Nitrile Gloves
$1.50
3
Nitrile Gloves
$7.00
4
Nitrile Gloves
$12.00
5
Nitrile Gloves
$5.00
6
Nitrile Gloves
$2.00
7
Nitrile Gloves
$10.50
3. Load
id
item
price
1
Nitrile Gloves
$13.00
2
Nitrile Gloves
$1.50
3
Nitrile Gloves
$7.00
4
Nitrile Gloves
$12.00
5
Nitrile Gloves
$5.00
6
Nitrile Gloves
$2.00
7
Nitrile Gloves
$10.50
ETL = transform before load. ELT = load then transform in-warehouse.
Let’s talk data
Have a hairy problem or an idea to validate? I can help you get to decisions faster.