Welcome to my projects portfolio! Here you’ll find a collection of my work in data science, machine learning, and software engineering. Each project demonstrates different aspects of my technical skills and problem-solving approach.


Energy System Modelling App

ESM Thumbnail

An interactive educational platform for hands-on energy system modelling and optimization. This project demonstrates how transmission infrastructure and market design influence electricity prices and dispatch using PyPSA, with a focus on developing both energy systems expertise and advanced programming skills.

Key Features:

  • Interactive Market Simulation: Comparative analysis of single-zone vs multi-zone electricity markets using real-time Streamlit dashboards, enabling exploration of how bidding zone configuration affects price formation and market efficiency
  • Transmission Sensitivity Analysis: Dynamic slider-based interface to adjust interconnection capacities and observe real-time impacts on electricity prices, power flows, and dispatch decisions, demonstrating the relationship between infrastructure investment and market outcomes

Tech Stack:

Languages: Python
Libraries: PyPSA, Streamlit, Pandas, Plotly, NumPy

Status: Core bidding zone module complete; future versions will cover more concepts.


GridGEN: Synthetic Distribution Grid Data Generation

Developed a Variational Graph Autoencoder (VGAE) model to generate synthetic distribution grid datasets for power system research and benchmarking.

Key Features:

  • Graph-based generative model using PyTorch Geometric
  • Variational autoencoder architecture for distribution grids
  • Comprehensive evaluation on real-world grid topologies
  • Published research with open-source implementation

Tech Stack:

Languages: Python
Libraries: PyTorch, PyTorch Geometric, NetworkX, Pandas, NumPy, PyPSA
Tools: Jupyter, Git, LaTeX


Time Series Forecasting: Electricity Price Prediction

This project focuses on forecasting day-ahead electricity prices using various machine learning and deep learning approaches. The goal is to predict 24-hour electricity prices (D+1) based on historical price data, demand forecasts, and generation forecasts, using strictly causal features up to D 23:00.

Key Features:

  • Multi-Architecture Neural Network Comparison: Comprehensive evaluation of LSTM and GRU architectures with configurable hidden units (24) and single-layer design optimized for 24-hour electricity price forecasting
  • Advanced Feature Engineering Pipeline: Sophisticated temporal feature creation including lag variables (1, 24, 48, 168 hours), rolling statistics (24, 168-hour windows), and time-based features for comprehensive market signal capture
  • Ensemble Methods Integration: Implementation of Random Forest and XGBoost algorithms alongside neural networks for robust performance comparison and model selection under operational constraints
  • Explainable AI Framework: Dual interpretability approach using Captum Integrated Gradients and SHAP values for feature attribution analysis, enabling transparent model decisions and regulatory compliance
  • Time Series Cross-Validation Strategy: 10-fold walk-forward validation with 168-hour input windows and daily increment progression, ensuring temporal integrity and realistic performance evaluation for day-ahead market operations
  • Operational Deployment Considerations: Real-world constraint modeling with noon deadline submissions for day-ahead markets, comparing model performance under complete vs. limited data availability scenarios
  • Multi-Modal Data Integration: Fusion of historical electricity prices, demand forecasts, and generation mix data with automated preprocessing and feature scaling for robust market prediction

Tech Stack:

Languages: Python
Libraries: Pytorch, Pandas, NumPy, Scikit-learn, Matplotlib, Seaborn
Tools: Jupyter Notebook, Git

Electricity Price Prediction Results
Electricity Price Prediction Results using GRU

Time Series Forecasting: Wind Power Prediction

Built an LSTM-based deep learning model for accurate wind power forecasting to support renewable energy integration and grid planning.

Key Features:

  • Long Short-Term Memory (LSTM) Neural Network Architecture: Deep learning model with 2 stacked LSTM layers (128 hidden units each) and dropout regularization for robust wind power forecasting
  • Multi-variate Time Series Analysis: 8-feature input including wind speed, direction, temperature (external/internal), nacelle direction, and blade pitch angles for comprehensive turbine state modeling
  • Advanced Data Pipeline with Sliding Window Approach: Automated preprocessing with 18-timestep sequences (3-hour windows) and configurable forecast horizons for temporal pattern extraction
  • Comprehensive Model Validation Framework: Three-phase training strategy with separate validation, hyperparameter tuning, and unbiased test evaluation using multiple regression metrics (MSE, MAE, RMSE, R²)
  • Real-time Grid Management Applications: 10-minute ahead forecasting capabilities with robust performance monitoring and visualization tools for practical renewable energy integration

Tech Stack:

Languages: Python
Libraries: Pytorch, Pandas, NumPy, Scikit-learn, Matplotlib, Seaborn
Tools: Jupyter Notebook, Git

Wind Power Prediction Results
Wind Power Prediction Results

Energy Market Analytics: Spot Price Trends & Influencing Factors

This project analyzes the key factors influencing electricity Day-Ahead market prices in Germany, with a focus on comparing market dynamics between June 2020 and June 2021. The analysis reveals significant price variations and explores the underlying mechanisms driving these changes.

Key Features:

  • Multi-Source Data Integration Pipeline: Automated preprocessing function combining electricity consumption, generation by source, and Day-Ahead pricing data with temporal indexing and column standardization for comprehensive market analysis.
  • Time-Series Pattern Recognition: Multi-scale temporal analysis with hourly, daily, and weekly pattern identification, including categorical time-of-day classification (Night / Morning-Evening / Midday) for demand cycle characterization.
  • Comparative Statistical Framework: Descriptive analytics with kernel density estimation and box plot distributions, quantifying a 200% median price increase between June 2020 and June 2021 periods.
  • Energy Market Visualization System: Multi-panel dashboard with side-by-side comparisons and stacked generation charts tracking renewable impact on price volatility and grid load patterns.

Tech Stack:

Languages: Python
Libraries: Pandas, Matplotlib, Seaborn
Tools: Jupyter Notebook, Git

Hourly Volatility
Electricity Price Variation by Hour of the Day

Energy System Sizing: Optimal PV & Battery Configuration

Developed an optimization framework for residential photovoltaic systems and battery storage to maximize long-term economic benefits and energy independence.

Key Features:

  • Multi-Algorithm Optimization Framework: Highlights the sophisticated SciPy-based optimization engine that compares multiple algorithms and automatically selects the best performer
  • Comprehensive Techno-Economic Modeling: Emphasizes the integrated approach combining PV generation physics, battery dynamics, and 20-year financial analysis
  • High-Resolution Energy System Simulation: Showcases the detailed temporal modeling capabilities for accurate energy balance calculations
  • Advanced Battery Energy Storage System (BESS) Integration: Focuses on the sophisticated battery modeling with SOC management and efficiency considerations
  • Automated Results Analysis and Visualization: Highlights the clean reporting system with comparison tools and visualization capabilities

Tech Stack:

Languages: Python
Libraries: SciPy, Pandas, NumPy, Matplotlib, Seaborn
Tools: Jupyter Notebook, Git

Energy System Sizing Results
Energy System Sizing Results

Second‑Life EV Batteries: Stationary Repurposing Analysis

Studied technical and economic aspects of repurposing retired EV batteries for stationary energy applications.

Key Features:

  • Reviewed real-world second-life EV battery projects, industry pilots, and commercial deployments across Europe
  • Analysed degradation mechanisms and first‑life factors influencing second‑life performance (SoH, internal resistance, knee‑point behaviour)
  • Compared repurposing strategies at pack, module, and cell level; highlighted cost, safety, and performance trade-offs
  • Evaluated stationary applications: PV self‑consumption, peak shaving, frequency regulation, microgrids, and demand response
  • Assessed economic and technical feasibility under varying market and technical conditions
  • Identified adoption barriers: missing first‑life data, cost uncertainty, competition with new batteries, and safety/regulatory issues