Skip to content
Samuele Cieri

(04) Systems

Systems & architecture

Projects built as bridges toward Data Engineering.

  • Multi-user personal finance platform: a layered Rust workspace (pure domain, SQLx data layer, Axum API, background worker) over PostgreSQL, serving an Expo app for iOS, Android and web plus a Tauri desktop shell.

    Engineering decisions

    • Hexagonal crate split: an I/O-free domain checked in CI
    • Row-level security scoped on every pooled connection
    • Transactional outbox for push notifications, SKIP LOCKED job claims
    • Rotating refresh tokens, rate-limited login, typed error codes
    • Prometheus metrics, OTLP traces, health probes, graceful shutdown
    • Playwright E2E on the real stack, k6 load tests, compile-time checked SQL

    Topology

    1. Expo · Tauri

      Mobile, web & desktop

    2. Rust · Axum

      Typed HTTP API, JWT

    3. Rust · Tokio

      Scheduled jobs

    4. PostgreSQL 18

      Triggers, RLS, analytics

    Data bridge

    Integrity enforced in the database: balances maintained only by triggers, row-level security per user, SQL analytics functions for trends and budgets, idempotent imports of third-party exports.

    Private source — walkthrough on request
  • End-to-end data platform for Emilia-Romagna air quality on ARPAE open data, enriched with Open-Meteo weather: Rust ingestion into partitioned Parquet, dbt models on DuckDB locally and BigQuery on GCP, Dagster orchestration. Work in progress: data exploration is done.

    Engineering decisions

    • Idempotent incremental ingestion: rolling-window reprocessing and upserts on the natural key
    • Layered dbt models (staging, intermediate, marts) with SCD Type 2 station history
    • Data quality as code: uniqueness, completeness and freshness tests
    • Completeness measured against an expected time grid, never filled in raw
    • Legal limits in a dbt seed, never hardcoded
    • Same models on DuckDB and BigQuery, infrastructure via Terraform

    Topology

    1. Rust

      ARPAE and Open-Meteo, idempotent

    2. Parquet

      Raw partitioned by year/month

    3. dbt · DuckDB · BigQuery

      Staging, intermediate, marts

    4. Dagster

      Schedules, backfills, lineage

    Data bridge

    A pure data engineering project: provisional measurements revised after validation, gaps and inconsistent formats in the source, turned into a historized, tested dataset that answers legal-limit exceedances, pollutant trends and weather correlation.

    Repository