Snowflake incremental ELT (CDC)
Files land in S3 and Snowpipe loads them as they arrive. Streams capture exactly what changed, and a Task graph merges only those changes into current-state tables, SCD Type 2 history and a daily mart, with no full reloads. Tested end to end against late, duplicate and invalid data, including tasks that fail mid-run.
Snowflake (Snowpipe, Streams, Tasks), SQL, Python, AWS S3, GitHub Actions
Code on GitHub
Multi-cloud ingestion framework
One config-driven framework ingests REST APIs, databases and vendor file drops into S3 and ADLS Gen2, checks every batch against a data contract, and merges it into Snowflake. Survives crashes without duplicates; orchestrated by Azure Data Factory, with infrastructure in Terraform.
Python, AWS S3/IAM, Azure Data Factory, ADLS Gen2, Snowflake, Terraform, Docker
Code on GitHub
EV battery-health lakehouse on Apache Iceberg
Connected-vehicle telemetry flows into Iceberg tables that score the residual-value risk of leased EVs from battery health. Uses upserts, schema and partition evolution, time travel to past reports, and compaction and snapshot expiry to keep it fast.
Apache Iceberg, PyIceberg, DuckDB, Parquet, AWS Glue, Snowflake
Code on GitHub
RAG ingestion pipeline for an AI assistant
The data side of retrieval-augmented generation: syncs a changing policy library incrementally, redacts personal data, chunks and embeds only what changed, and serves hybrid vector and keyword search. A retrieval-accuracy check runs in CI on every change.
Python, embeddings, vector and BM25 search, DuckDB, pgvector
Code on GitHub
Real-time fraud detection
Card transactions stream through Kafka into Spark Structured Streaming, where windowed rules and stream-to-stream joins flag fraud in about four seconds, written exactly once to Delta Lake and tested by crashing the job mid-stream.
Kafka, Spark Structured Streaming, Delta Lake, Python, Docker
Code on GitHub
Auto loan risk analytics
Raw loan servicing data cleaned in PySpark and modeled with dbt into a tested star schema, with vintage, delinquency and dealer-risk marts on Snowflake, orchestrated by Airflow.
PySpark, dbt, Snowflake, Airflow, SQL
Code on GitHub
Medallion CDC pipeline
Change events from an operational database flow through bronze, silver and gold layers with idempotent loads, SCD Type 2 history and a quality gate, then reconcile with the source row for row.
Python, SQL, DuckDB, Airflow
Code on GitHub
DataWhisperer
A browser-based CSV profiler: drop in a file to see types, missing values, distributions and data-quality issues, then export generated dbt tests and Snowflake or Postgres DDL. Nothing leaves the browser.
TypeScript, DuckDB-WASM, SQL, Vite, Playwright
Code on GitHub
Live demo