Senior Data Engineer Β· Software Builder Β· Founder @ AragΓ³n Tecnologia
Cloud data platforms on AWS by day. Shipping AI-driven SaaS products on the side.
- π οΈ Senior Data Engineer building large-scale data pipelines and platforms on AWS.
- π§± Founder & engineer at AragΓ³n Tecnologia, where I take products from idea to production: architecture, development, deployment and operations.
- π€ I integrate AI where it genuinely improves a product, not as a gimmick.
- π Based in Porto, Portugal. Working in international, English-speaking teams.
- π¬ Ask me about data engineering, AWS, PySpark, infrastructure as code, and building SaaS solo.
Data Engineering
Architecture & Patterns
AWS & Cloud
Software & Web
Tools are the disposable part. The framework I reach for today will be replaced sooner than I would like, and that is fine. What lasts is the architecture: a design that is sustainable, scalable and durable rarely has to change, whatever tool implements it underneath. So I optimize for the shape, not the stack.
The projects below are laid out along the path data takes through a platform. Each is a decision rather than a demo, runs on synthetic data, is verified in CI, and carries a short Design principles note that explains the why. Read together, they are one opinion about how a data platform should be built.
INGEST PROCESS ORCHESTRATE STORE + MODEL CONSUME
ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β kafka-retail- β β spark-retail- β β airflow-retail- β β delta-lakehouse- β β dbt-duckdb- β
β streaming β β etl β β orchestration β β mlflow β β analytics β
β stream + CDC β β batch ETL β β medallion DAG β β Delta + MLflow β β nl-to-sql β
ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
foundations terraform-aws-datalake (IaC) Β· data-mapping-framework (canonical model) Β· kanban-streaming-metrics (flow metrics)
in every repo explicit schemas Β· data-quality gates Β· idempotent, replayable design Β· tests + CI
Small, focused data-engineering projects. Each one runs with synthetic data and is verified in CI.
| Project | What it demonstrates | CI |
|---|---|---|
| kafka-retail-streaming | Kafka (KRaft) + Spark Structured Streaming: event-time windows with watermarks, dead-letter queue, Iceberg sink with exactly-once semantics (ADR), CDC with Postgres + Debezium merged via foreachBatch |
|
| spark-retail-etl | PySpark batch ETL (raw β clean β curated): incremental loads over a high-watermark, partitioned outputs, quality gates with volume anomaly detection, run summaries, ADRs | |
| airflow-retail-orchestration | Airflow TaskFlow DAG orchestrating a medallion pipeline: quality-gate branching, dynamic task mapping, idempotent partitioned writes, DAG-integrity and end-to-end tests | |
| delta-lakehouse-mlflow | Medallion lakehouse on Delta Lake with an MLflow-tracked churn model: idempotent silver via MERGE, full-recompute gold, tracked and registerable modelling |
|
| kanban-streaming-metrics | Streaming flow metrics with Redpanda + PySpark: throughput, cycle time, WIP, and percentile-based forecasting (p85/p95, SLA attainment) | |
| dbt-duckdb-analytics | Analytics engineering with dbt + DuckDB: layered staging/marts and four layers of data tests, up to cross-layer revenue reconciliation | |
| terraform-aws-datalake | Reusable Terraform module for an AWS data lake (S3 + Glue + Athena): secure by default, plan-time input validation, tflint gate | |
| data-mapping-framework | Map multiple platforms/formats (CSV, JSON, SQL, Parquet) onto one canonical model, with business rules and full violation reporting per rejected row | |
| nl-to-sql | Natural-language-to-SQL with Claude: a deterministic read-only guard with lexer-based query normalization |
Real products, code in the open β not demos: these run in production with real users.
| Product | What it is |
|---|---|
| meucomboio-pt | "Which train can I still catch?" β next departures and trip planning for Portugal on CP's open GTFS data: daily sync pipeline with a quality gate, service-calendar-aware planning, live pricing, and a dbt analytics layer |
| inventario-familiar | Self-hosted estate portal with a dbt + DuckDB analytics layer: financial marts and a reconciliation gate that fails CI if a single cent goes unaccounted for. Synthetic data only |
Beyond the open-source projects above, I build and run a small fleet of production SaaS products at AragΓ³n Tecnologia, mostly on my own, from the first commit to the 3am alert when something breaks.
| Product | What it is |
|---|---|
| π§ PsycoHub | Clinical management + AI for psychologists |
| π₯ NutriPro | AI-assisted platform for nutritionists |
| π Sola Beauty | Management platform for beauty studios |
How I run them:
- Each one is multi-tenant SaaS on AWS, released with zero-downtime blue-green deploys: a small Node agent flips nginx over once the health checks pass.
- I operate them, not just ship them: self-hosted uptime monitoring, error tracking with Sentry, structured logging, scheduled jobs, and automated LGPD retention.
- Some are realtime, using Server-Sent Events for live dashboards and WebRTC for video calls.
- I pull data across products into a medallion lakehouse (bronze, silver, gold) on Databricks with an MLflow model on top, fed by anonymized exports.
- And I add AI where it genuinely helps the person using the product, never for show.
The products and their source stay private. What you see in this profile are the same engineering patterns, rebuilt from scratch with synthetic data.
Open to business partnerships and collaboration on data platforms and products. Reach me at aragontecnologia.com or on LinkedIn.


