Werkervaring
Python Developer & Data Engineer
08/2025 – heden
Zelfstandig
- Ontwierp, bouwde en beheer een productie-IoT/dataplatform — zeven projecten met serverless en gecontaineriseerde ingestie, een beveiligde Kafka device gateway, analytics-pipelines op AWS en Azure Databricks, en een AI-assistent (Claude API + MCP) — live op iot.gonzalezsanchez.dev (zie Projecten).
- Gerund als een echt product: CI/CD, infrastructure as code, observability (Datadog, Grafana Cloud) en security-hardening op een eigen server; open-source-fixes gemerged in Pydantic en PynamoDB.
Freelance Data Engineer
02/2025 – 07/2025
Zelfstandig — Peru & Bolivia
- Data-analyse en softwareontwikkeling voor projecten in Zuid-Amerika (milieu- en watersector).
- Verwerking en analyse van discrete en continue datasets met Python.
Programmeur
03/2023 – 01/2025
Link / Manage Count-e — Leuven
- Backend ontwikkeling en onderhoud van een schoolbeheersysteem met een complexe relationele database (350+ tabellen).
- Automatisering van administratieve bedrijfsprocessen in samenwerking met multidisciplinaire teams.
- Werkte met grote, gestructureerde datasets en droeg bij aan de stabiliteit en uitbreidbaarheid van het systeem.
Adviseur grond- en oppervlaktewater
03/2022 – 12/2022
Antea Group Belgium
- Analyse van hydrologische data en modellering van grondwaterstromen.
- Ruimtelijke analyses met ArcGIS Pro en QGIS.
- Adviesrapporten voor beleidsmakers en bedrijven rond waterbeheer.
Zorg voor gezin
2019 – 2021
Onderzoeker – Hydrodynamische modellering
05/2013 – 08/2019
Vrije Universiteit Brussel
- Hydrodynamische modellering van de Zeeschelde.
- Ontwikkeling van numerieke modellen in Fortran.
Bijzonder Academisch Personeel (BAP)
11/2009 – 04/2013
Vrije Universiteit Brussel — Brussel
Assistent hydrologie en waterbouwkunde
06/2009 – 07/2009
Soresma — België
Hydraulisch ingenieur
08/2006 – 08/2007
Zorrilla Construcciones — Bolivia
Onderzoeksassistent & Assistent Programmeren
07/2004 – 07/2006
Universidad Mayor de San Simón — Bolivia
Projecten
IoT Monitoring Platform —
github.com/GonzalezSanchez/iot-monitoring-platform ·
iot.gonzalezsanchez.dev
Project 1a: Serverless Ingestion · 12/2025 – 01/2026
Python · AWS Lambda · API Gateway · DynamoDB · CloudFormation · GitHub Actions
- Serverless REST API voor real-time ingestie van sensorgebeurtenissen (temperatuur, vochtigheid, bezetting, beweging) met drempelgebaseerde anomaliedetectie.
- Clean layered architecture (models → services → repositories). Volledige infrastructuur als code met CloudFormation. Deployed naar AWS via CI/CD.
Project 1b: Gecontaineriseerde Ingestion · 01/2026 – 02/2026
Python · FastAPI · Docker · nginx · AWS DynamoDB · React · Cloudflare · OpenTelemetry · Datadog · Grafana Faro · GitHub Actions
- Zelfde bedrijfslogica als 1a, heringezet als een gecontaineriseerde FastAPI-applicatie — demonstreert de scheiding van domeinlogica en infrastructuur.
- Live op iot.gonzalezsanchez.dev via Docker Compose + Cloudflare tunnel. React dashboard met 30s auto-refresh en live event submission.
- End-to-end observability geïmplementeerd met OpenTelemetry auto-instrumentatie en OTel Collector → Datadog APM: gedistribueerde traces met automatische DynamoDB child span detectie, log-trace correlatie en Watchdog anomaliedetectie — zonder handmatige instrumentatie.
- Frontend observability met de Grafana Faro Web SDK (real-user monitoring: Web Vitals, errors, sessies) — sessiedata bracht een productie-serialisatiebug aan het licht die vervolgens gereproduceerd, gefixt en met regressietests afgedekt is.
- Docker-images gebouwd en gepusht naar GitHub Container Registry bij elke merge naar main.
Project 2a: Behavior Analyzer (AWS Serverless) · 02/2026 – 04/2026
Python · AWS Step Functions · Lambda · Aurora Serverless v2 · EventBridge · Terraform · Secrets Manager · GitHub Actions
- Serverless ETL-pipeline: haalt historische sensordata op uit DynamoDB, detecteert bezettingspatronen, temperatuurtrends en anomalieën, slaat resultaten op in Aurora Serverless v2 (PostgreSQL).
- Volledige infrastructuur ingericht met Terraform. Draait op aanvraag om AWS-kosten te minimaliseren (~$15/maand actief, schaalt naar nul bij inactiviteit).
- Unit-, integratie- en regressietests (pytest + moto); 80%+ coverage afgedwongen op elke push via GitHub Actions.
Project 2b: Behavior Analyzer (Data Engineering) · 04/2026 – 05/2026
Python · Apache Airflow · PySpark · dbt · AWS S3 · PostgreSQL · GeoPandas · Power BI · OpenTelemetry · Grafana Cloud · Jenkins (Groovy) · Terraform · Docker
- Data engineering-pipeline met Medallion-architectuur (Bronze → Silver → Gold): raw Parquet (DynamoDB scan) → processed Parquet (gevalideerd, opgeschoond) → PostgreSQL serving layer via dbt (staging views + gematerialiseerde marts met source tests).
- PySpark-analyses: bezettingspatroondetectie (window-aggregatie), temperatuurtrend-regressie (Spark SQL regr_slope), z-score anomaliedetectie (stddev_pop — medium ≥ 3, hoog ≥ 5), ruimtelijke hotspot-aggregatie per gebouw (GeoPandas, EPSG:4326).
- Observability: OTel Collector → Grafana Cloud (Mimir metrics + Loki logs) — custom tellers per pipeline-fase, Airflow StatsD-metrics, PostgreSQL-metrics via postgres-exporter; pipeline-dashboard als code in de repo.
- Georchestreerd door Apache Airflow (wekelijks schema). Gedeployed via een 9-staps Jenkins declaratieve CD-pipeline geschreven als Groovy Jenkinsfile (deploy- + destroy-pad, smoke tests). Infrastructuur ingericht met Terraform (S3 + IAM). Power BI-rapport ontsloten in de portfolio-frontend op iot.gonzalezsanchez.dev.
- 94 unit tests (pytest + PySpark in-process). CI-pipeline met PySpark-tests (Java 17), Airflow DAG-tests, dbt parse en terraform validate — allemaal groen op elke push.
Project 2c: Behavior Analyzer (Azure Databricks Lakehouse) · 05/2026 – 06/2026
Python · PySpark · Azure Databricks · Delta Lake · Unity Catalog · dbt-databricks · ADLS Gen2 · Terraform · Databricks Asset Bundles · GitHub Actions
- Lakehouse-pipeline op Azure Databricks: Bronze-ingestie via Auto Loader, Silver-transformatie met het Write-Audit-Publish-patroon (goede records idempotent ge-MERGEd, ongeldige records naar quarantine — nooit verwijderd), Gold-laag gebouwd met dbt-databricks incrementele modellen: z-score anomaliedetectie (|z| > 2.5), uurlijkse aggregaties, dimensionale modellen voor ruimten en gebouwen.
- Volledige infrastructuur als code met Terraform: ADLS Gen2, Databricks-workspace (Premium), Access Connector (Managed Identity), Key Vault, Unity Catalog-metastore, SQL Warehouse, budgetalarm. Georchestreerd via Databricks Asset Bundles (DABs) — maandelijks schema, 1e van elke maand 06:00 Brusselse tijd.
- Gold-laag live beschikbaar via FastAPI /lakehouse/* endpoints, zichtbaar in het portfoliodashboard op iot.gonzalezsanchez.dev.
- 43 tests, 92% coverage. CI: ruff + mypy + pytest + dbt parse + bundle validate + terraform validate — allemaal groen op elke push.
Project 3: IoT Device Gateway (Kafka) · 07/2026
Python · FastAPI · Kafka (Redpanda) · aiokafka · DynamoDB · CloudFormation · Docker · Locust
- Beveiligde device gateway, live in productie: device-registratie met bcrypt-gehashte API-keys, kortlevende JWT-sessietokens en per-device sliding-window rate limiting (configureerbaar per devicetype).
- Async FastAPI-producer publiceert sensor events naar Kafka (Redpanda, keyed per device); een consumer group normaliseert berichten naar het gedeelde DynamoDB-contract met idempotente writes — poison messages gaan met volledige foutcontext naar een dead-letter queue.
- Automatiseringstooling: CLI device-simulator (zelfregistrerende devices, JWT-refresh, statistieken per device) en een Locust loadtest-suite (steady vs. agressieve device-scenario's), geïntegreerd in de CI-pipeline. Gevalideerd tegen de productie-gateway: steady verkeer foutloos (0 failures), een agressief device afgeknepen op de 60/min-drempel zonder impact op andere devices, nul dead-letter entries onder load.
- Infrastructure as code met CloudFormation (Devices-tabel + least-privilege IAM), gedeployed via GitHub Actions. 36 tests, mypy clean.
Project 4: AI Assistant (Claude + MCP) · 06/2026 – 07/2026
Python · Claude API (Anthropic SDK) · MCP · fastapi-mcp · FastAPI · SSE · slowapi · Docker · React
- Conversationele AI-laag bovenop het live platform: Claude beantwoordt vragen over de echte sensordata door de REST-API's van het platform zelf aan te roepen, ontsloten als 7 read-only MCP-tools (fastapi-mcp, alleen intern Docker-netwerk).
- Aparte FastAPI-service met een begrensde agent-loop (max. 8 stappen) op de streaming Claude API (Haiku 4.5) met de officiële MCP-client; antwoorden token-per-token gestreamd naar de React-chattab via Server-Sent Events.
- Security by design: least-privilege container (alleen de Anthropic-key — geen AWS/Databricks-credentials), read-only tool-allowlist, rate limiting per IP achter Cloudflare, begrensde tokens en historie, generieke foutmeldingen.
- 12 tests (agent-loop, MCP-client, API) tegen fakes — CI heeft geen netwerk en geen API-key nodig. Live op iot.gonzalezsanchez.dev.
Open Source
Pydantic · 10B+ downloads
Python · mypy-plugin
- Bug fix: onbekende mypy-plugin-configuratiesleutels werden stilzwijgend genegeerd; validatie en duidelijke waarschuwingen toegevoegd voor zowel pyproject.toml als .ini-formaat, met testdekking. · PR #13149
PynamoDB · 2k+ stars
Python · AWS DynamoDB
- Bug fix: Enum-waarden werden onterecht afgewezen als standaardwaarde voor modelattributen door een onvolledige typevalidatielijst. · PR #1302