Experience
Romande Energie SA
Data Engineer → Data Architect · Promoted May 2026
2022 – present
- Designed the sweep join method for data vault bridge tables — enabling efficient and cost-effective time-interval joins across 10+ core tables consumed by 50+ analysts, critical machine learning algorithms and operational systems
- Co-leading adoption of dbt across the analytics platform with a team of data architects, standardising transformations across the full data warehouse
- Delivered end-to-end pipelines covering ingestion, dimensional and data vault modelling, and QlikSense reporting in a Snowflake / GitLab CI/CD environment
- Built and operates the MLOps pipeline for energy demand forecasting: 7 scikit-learn models in production, daily retraining, 15-min inference intervals — delivering material cost savings by reducing energy imbalance on the grid
Swiss Triathlon Analytics Platform
Independent Project
2025
- Built and sold a race analytics platform to the Swiss Triathlon Federation covering 140,000+ athletes and 40+ years of official race results — primary use case: automated talent detection across age categories and disciplines
- Designed a Snowflake data mart (4 dimensions, 3 facts); applied AI extraction to convert unstructured race notes into structured information
- Delivered the end-to-end analytics layer: Snowflake to Power BI integration consumed daily by the federation's sports physiologist
Skills
Data Modeling
Platform & Orchestration
SQL & Python
Visualisation
Education
MSc Electrical Engineering — Data Science specialisation
EPFL, École Polytechnique Fédérale de Lausanne
2020 – 2023
- Deep learning of Koopman operator for non-linear dynamical systems (GNN + Koopman theory)
- Data-driven distributed control of microgrids via deep reinforcement learning
BSc Electrical Engineering
EPFL, École Polytechnique Fédérale de Lausanne
2016 – 2020
incl. Erasmus at Karlsruhe Institut für Technologie (KIT), Germany
Continuing Education & Certifications
Snowflake SnowPro Core Certified
Analytics Engineering Bootcamp Capstone 100%
Languages
Writing
How to Join Temporal Tables Without Losing Data
Compares three SQL approaches for joining tables with validity intervals, showing why the sweep join technique correctly handles gaps, future dates, and phantom rows where inequality joins and calendar explosions fail.
Read on Medium →Your Temporal Joins Don't Need a Calendar Table. They Need This.
Introduces the Sweep Join pattern as a superior alternative to calendar table joins, reducing intermediate rows from 347M to 885K while providing correct interval semantics that standard joins cannot express.
Read on Medium →