DuckDB

DuckDB as an Analytical Read Layer: Querying a Gold Store Without a Database Server

DuckDB is an in-process analytical database that runs inside your Python application, reads Parquet files natively, and handles complex SQL including window functions, QUALIFY, and MEDIAN — with no server to manage. This tutorial covers the read-only connection pattern used in the flight disruption serving layer, thread-safety in a FastAPI threadpool, and the queries that power the reliability API.

Beginner
9 minutes
Aug 10, 2026

SQL Analytics You Can Actually Trust: Building Reliability Marts with dbt

dbt turns SQL SELECT statements into tested, documented, dependency-aware data models. This tutorial builds the flight reliability marts used by the dashboard — airport, route, and carrier delay rates — starting from a staging view and layering on not-null, uniqueness, relationship, and range tests that catch data quality problems before they reach the API.

Beginner
10 minutes
Aug 10, 2026

Making Data Leakage a Pipeline Failure, Not a Debugging Session

A rolling delay rate that includes same-day flights is leakage. A temporal split that shuffles randomly is leakage. In a flight delay prediction pipeline, leakage produces models that look great on held-out data and fail immediately in production. This tutorial covers the shared contract module, Spark window functions bounded to strictly prior days, schema assertions that catch banned features before training, and a temporal split that respects the direction of time.

Intermediate
25 minutes
Aug 10, 2026

Flight Disruption Intelligence: A Full-Stack Delay Predictor on Public Data and Free Infrastructure

An end-to-end flight delay prediction platform spanning medallion lakehouse, calibrated LightGBM with SHAP explanations, Spark Structured Streaming, dbt reliability marts, FastAPI serving, and a SvelteKit dashboard — built entirely on public BTS/NOAA/OpenSky data, self-hostable for $0/year, with a contract module that enforces leakage prevention across every pipeline stage.

    Ask me anything!