Projects
Each project page covers the motivation, the method, and the result, with notebooks and code so you can reproduce it.
These are self-directed learning projects. I didn't use these tools at work; I built each one from scratch to learn it properly. Everything is public.
End-to-end anomaly detection for a simulated LEO satellite. A Rust orbital simulator generates labelled telemetry; a 532-feature XGBoost classifier watches the stream in real time and fires alerts within ~65 s of fault onset across 8 anomaly classes. Interactive demo lets you replay any scenario and inspect SHAP explanations live.
Compressible CFD simulation of a Mach 1.5 over-expanded nozzle. Shock diamonds reproduced numerically and compared with reconfinement shocks in AGN jets. Includes an interactive Python viewer (Dash) to explore fields across timesteps.
Maps supply and demand patterns across Valencia neighbourhoods. Airbnb, population, and rent data are cleaned and joined with SQL; per-capita listings and review trends are visualised. Caveats documented (reviews as proxy, geography alignment).
Forecasts hourly electricity load on the Spanish grid and stress-tests the system under extreme scenarios. Gradient-boosted models with weather features, time-aware cross-validation, and what-if cases covering cloud cover, heat waves, and nuclear availability.
Classifies real versus AI-generated images and provides visual explanations for each decision. A compact CNN trained on the CIFAKE dataset, with Grad-CAM overlays to show which image regions drive the classification.
Tracks regional extreme weather across France, Spain, Germany, Italy, and Portugal. A Python pipeline combines Open-Meteo archives with OpenWeather forecasts to flag multi-day hazard alerts at the administrative region level.