Daggie – The Airflow DAG Quality Auditor

Daggie is an Airflow plugin that continuously evaluates DAG quality using a rule-based scoring engine and makes the result visible directly inside the Airflow UI. Instead of static reviews, DAG hygiene becomes a live feedback loop.

Situation

Large Airflow deployments struggle with enforcing DAG hygiene and governance. DAGs often lack owners, consistent retries, sensible schedules, documentation, and naming conventions.

Task

Design a lightweight, continuous way to measure DAG quality and surface it directly in the Airflow UI so teams can see problems while working with DAGs.

Action

Built an Airflow plugin backed by a FastAPI scoring engine and a React UI. The engine evaluates DAG metadata against weighted rules, and the UI uses an animated character to visualise health.

Result

DAG governance became a real-time process. Teams can quickly spot risky DAGs, standardise patterns, and improve reliability across pipelines with an intuitive, visual feedback loop.

Tech stack & source
🌀Apache Airflow
🐍Python
⚛️React
View on GitHub

High-level architecture

Daggie splits responsibilities across three components: Airflow for orchestration and metadata, a FastAPI service for scoring, and a React UI for visual feedback.

Apache Airflow
Runs the plugin in the webserver and exposes DAG metadata from the DagBag (owners, retries, schedules, tags, docs).
FastAPI scoring engine
Evaluates DAGs via a typed API using weighted hygiene rules and returns structured scoring results.
React Daggie UI
Embedded UI that renders scores, rule breakdowns, and Daggie’s animated mood for each DAG.

How it works

Under the hood, requests flow from Airflow into the scoring engine, then into the React UI which uses Daggie's mood to summarise DAG quality.

Step 1 – Apache Airflow

Airflow loads DAGs and exposes metadata to the plugin runtime.

1
DAG metadata is read safely from Airflow without executing tasks.
2
Rules run additively with clear weights and explanations.
3
Healthy

Scoring model

The scoring engine is transparent and additive. Each rule has an explicit weight and a human-readable reason so teams can understand exactly why a DAG scored the way it did.

  • Ownership and default_args validation
  • Retries, retry_delay, and scheduling sanity
  • DAG documentation and tagging
  • Naming conventions for DAGs and tasks
  • Import-time side-effect guardrails
  • Task-count and parallelism limits

Example DAG quality report (UI)

Inside the Airflow UI, Daggie renders a detailed report using Material UI components. This combines a quick visual summary with an actionable rule-by-rule breakdown.

DAG: example_customer_pipeline
Score: 86% (43 / 50)
This DAG follows most Airflow best practices.
Healthy
Passed checks
10 / 12
Missing retries
1 DAG
No documentation
0 DAGs
Retries configured
Passedretry_delay set
DAG documentation
Passeddoc_md present
Schedule defined
FailedNo schedule found

Full source code, plugin setup, and extension examples are available on GitHub. The UI shown here mirrors the Material UI implementation embedded directly inside Airflow.