<aside> <img src="/icons/person-masculine_blue.svg" alt="/icons/person-masculine_blue.svg" width="40px" />
Analytics Engineer & Data Engineer building production-grade ELT pipelines and data models where quality has real consequences — federal reporting, ministerial decisions, program outcomes.
I'm Henry. For 3+ years I've designed data systems end-to-end inside government — raw ingestion, incremental loading, transformation, and the dashboards stakeholders actually use. I care about the engineering decisions behind a pipeline, not just the output.
✍️ I also write about data engineering and analytics — 90+ articles published on Medium.
<aside> 🔧
ELT Pipelines & Data Modeling
Architected a full ELT stack (DLT + DuckDB + dbt + Prefect) with incremental loading and three-layer quality checks — solving cross-departmental joins Salesforce couldn't do natively.
</aside>
<aside> 🧩
Data Quality & Record Linkage
Built a dual-validation fuzzy matching pipeline reconciling 8+ years of Excel records with no shared key — cutting a 10-hour process to 10 minutes. PDF ingestion pipeline: 50× throughput.
</aside>
<aside> 📊
Stakeholder Reporting & Impact
Delivered ~100 Salesforce reports for bi-weekly federal submissions, plus monthly Streamlit dashboards for program managers — built on the ELT output.
</aside>
<aside> 📬
Email · LinkedIn · GitHub — Data Projects · Resume / CV · Medium — Tech Blog · Web Dev Portfolio
</aside>
<aside> 🛠️
Data Engineering: dbt Core · Airflow (Astro/Cosmos) · AWS Glue · DuckDB · DLT · Prefect · Incremental Loading · Star Schema
Languages: Python (Pandas, Pydantic, Fuzzy Matching) · SQL (Advanced) · Bash
Cloud & Infra: AWS (S3, Glue, Redshift, Lambda, EC2, IAM, Terraform) · GCP (BigQuery, GCS) · Docker · Git
BI & Product: Streamlit · Tableau · Power BI · Plotly · Salesforce API · ArcGIS Pro
Soft Skills: Stakeholder communication across technical and non-technical teams · Translating ambiguous problems into structured, evidence-backed analysis · Project ownership end-to-end, from ingestion to dashboard
</aside>
</aside>