Tech Stack
Description
A self-initiated data engineering project that turns a real personal problem — timing IDR-to-foreign-currency exchanges — into an automated, alert-driven pipeline on the modern data stack.
Airflow fetches daily rates from the Frankfurter API into BigQuery, dbt models compute a percentile rank over full history plus z-scores across 30/90/365-day windows to classify today's rate into a 5-level signal (STRONG BUY, BUY, NEUTRAL, WAIT, STRONG WAIT), and Airflow delivers it via Discord. The entire cloud infrastructure is defined as code with Terraform and runs locally in Docker.
- Built an end-to-end ELT pipeline with Airflow orchestration, BigQuery warehousing, and version-controlled dbt transformations.
- Engineered the signal in dbt using BigQuery window functions: a full-history percentile rank combined with 30/90/365-day z-scores, mapped to a 5-level STRONG BUY → STRONG WAIT recommendation.
- Provisioned reproducible cloud infrastructure with Terraform and containerized the workflow with Docker.
- Backfilled historical rates from 2021 and automated daily updates with Discord BUY/NEUTRAL/WAIT alerts.
Page Info
End-to-End ELT Pipeline
Fetches daily IDR exchange rates, warehouses them in BigQuery, computes percentile rank and multi-window z-scores with dbt to derive a 5-level buy/wait signal, and pushes a Discord alert — all orchestrated by Airflow and provisioned with Terraform.
Live Demo
Live Signal Demo
Real IDR rates · percentile rank + z-score logic from the pipeline
Live data from the Frankfurter API, computed in your browser with the same percentile-rank and z-score logic as the pipeline. For demonstration only — not financial advice.