Data Engineer · Analytics Engineer · Melbourne, Australia
I build production-style data pipelines on open data: ingestion, lakehouse modelling, data quality and decision-focused dashboards.
Patterns I work with: medallion and lakehouse architecture · incremental loads and high-watermarks · dimensional modelling · data contracts · dbt tests and data quality · orchestration · CI/CD for data · static dashboards on GitHub Pages
| Project | What it answers | Stack | Live |
|---|---|---|---|
| bushfire-fleet-planner | Where to base six air tankers this El Niño summer to cover the most people and fire activity | Apache Sedona on PySpark · DuckDB spatial · Ray + KubeRay · OR-Tools · Argo CD on kind · OPA Conftest · Soda Core · GitHub Pages | Live dashboard |
| living-cost-squeeze | Who is losing Australia's cost-of-living race, living costs vs wages by household type, with a next-quarter forecast range | lakeFS on MinIO · SQLMesh + DuckDB · Argo Workflows on kind · OpenTelemetry + Jaeger · statsforecast · GitHub Pages | Live dashboard |
| road-toll-reversal | Where Australia's rising road toll is concentrated and where to focus summer enforcement | DuckDB · ODCS data contracts · Apache Polaris + Iceberg on MinIO · Airflow 3 · PyMC · ClickHouse · Helm/kind · GitHub Pages | Live dashboard |
| home-battery-payback | Where is Australia's home-battery rebate landing, and where does a battery pay back from real wholesale price swings? | PyFlink 2.1 SQL (event-time windows, watermarks) · Apache Iceberg (REST catalog + MinIO + Trino merge-on-read) · DuckDB marts · Dagster asset checks · OpenLineage · Pandera contracts · kind/Kubernetes Job · GitHub Pages | Live dashboard |
| aged-care-bed-block | CDC lakehouse tracking Australia's residential aged care place shortfall (40,939 places short of a 78-per-1,000 benchmark; only 794 places added last year vs ~10,600 needed). | Postgres 16 · Debezium Server · Redpanda · PySpark Structured Streaming · Delta Lake MERGE + SCD2 · OpenLineage · data contracts · DuckDB · Terraform · GitHub Actions | Live dashboard |
| jobs-risk-radar | Which Australian regions are seeing unemployment rise, and where should support be targeted? | Polars · dbt-duckdb · Dagster · Feast (DuckDB offline/SQLite online, point-in-time retrieval) · LightGBM with MLflow · Evidently · kind/Kubernetes · Terraform Docker provider | Live dashboard |
| elective-wait-metrics | Where are elective surgery patients missing recommended waits across Australia? | AIHW snapshots · Polars · dbt-duckdb · MetricFlow semantic layer saved queries · Dagster · Great Expectations Data Docs · static five-tab dashboard | Live dashboard |
| grocery-shock-agent | Which grocery lines are driving price pressure, and how could basket swaps change it? | Polars · dbt-duckdb · Dagster · Great Expectations · DuckDB VSS HNSW · 128-d feature hashing · deterministic ReAct tool-use agent · ECharts | Live dashboard |
| ai-grid-pressure | Is the AI data-centre boom straining Australia's grid? Where NEM demand peaks, price spikes and household power bills are showing stress | Iceberg · Trino · OpenLineage/Marquez · Great Expectations · dbt-duckdb · Dagster | Live dashboard |
| housing-slump-radar | Australia's 2026 housing slump: where prices and approvals are softening, how repayments jumped after the cash rate hit 4.85%, and which Victorian suburbs fell hardest | ClickHouse · Redpanda · data contracts · dbt-duckdb · Dagster · ECharts · GitHub Pages | Live dashboard |
| supply-chain-control-tower | Logistics control tower on 100k real e-commerce orders: on-time delivery, late lanes, freight burden, seller delays and review impact, with recommendations | DuckDB · dbt · Dagster · ECharts · GitHub Actions | Live dashboard |
| rba-rate-shock-copilot | An AI copilot answering questions about the RBA's 2026 cash-rate rises and what they cost mortgage holders, with RAG over Reserve Bank statements | Postgres + pgvector · sentence-transformers embeddings · RAG · MetricFlow semantic layer · dbt-duckdb · Dagster · OpenTofu | Live dashboard |
| vic-heat-health-sentinel | Which Victorian areas face dangerous heat in the next 16 days, who lives there, and where should councils prepare cooling centres and outreach? | Redpanda · PyFlink · Delta Lake · Feast · scikit-learn + MLflow · Evidently · dbt-duckdb · Dagster · OpenTofu · Kubernetes (kind) | Live dashboard |
| fuel-shock-radar | Australia's 2026 fuel price shock: which day is cheapest to fill up, are retail margins fair, and how much more do regional drivers pay? | Postgres · Debezium CDC · Redpanda · PySpark Structured Streaming · Delta Lake (MERGE/SCD2) · Airflow Datasets · OpenLineage/Marquez · Great Expectations · DuckDB | Live dashboard |
| aus-hazard-stream | Is the 2026 Gippsland earthquake swarm unusual, and where do quakes and bushfire hotspots threaten people and infrastructure? (near real-time) | Redpanda/Kafka · JSON Schema registry · Apache Iceberg · H3 + DuckDB spatial · dbt-duckdb · Dagster · Soda · MapLibre | Live map |
| nem-grid-pulse | Will Australia's AI data-centre boom strain the electricity grid? Prices, negative-price hours, renewables and load scenarios across the NEM | Python · dbt-duckdb · Dagster · data contracts · ECharts · GitHub Actions | Dashboard |
| nt-education-insights | Why is Aboriginal school attendance in the NT falling, where is it worst, and what should policymakers act on? | Python · DuckDB · pandas · medallion pipeline · Plotly · Streamlit | Dashboard |
| victorian-home-data-platform | A free-first medallion platform for Victorian property market research | Python · medallion architecture |
All projects use free, openly licensed public data (AEMO, ACARA, ABS, NT Department of Education and others) and document their sources, cleaning, transformations and limitations in the README.
Open to data engineering and analytics engineering roles in Australia. Feel free to open an issue on any project or reach out.


