Adversarial machine learning
NoWhisper — Fast Generative Perturbations for Breaking Whisper ASR
A fast waveform-level attack that trains a residual 1D U-Net to generate small, bounded audio perturbations
in one forward pass, keeping speech understandable while sharply degrading Whisper transcription.
Adversarial ML
Audio
Whisper ASR
Residual U-Net
- Result: Whisper Small WER rises from 0.047 to 3.825 with 99% attack success.
- Transfer: the same Small-trained generator remains effective on Whisper Medium
and Large-v3 without retraining.
Reinforcement learning
RL-Nav v1 — Oracle-Guided RL for Partial-Observation Navigation
Exam project combining reinforcement learning and LLM-based guidance for navigation in a stochastic PyBullet
environment with a hidden goal, sparse local sensing, dense guidance embeddings, and recurrent control.
Reinforcement learning
Navigation
LLM guidance
Partial observation
- Work: designed the LLM oracle interface and constrained structured outputs.
- Outcome: reached 62% held-out success while exposing robust execution as the main
bottleneck.
Computer vision
UAV Anomaly Detection & Localization
A computer-vision pipeline for large drone images where the goal is simple: spot unusual objects or target
areas quickly, then turn them into regions that can be checked or classified.
Aerial imagery
Anomaly detection
Localization
Post-processing
- Task: find candidate target areas inside high-resolution aerial frames.
- Why: targets are rare and images are large, so narrowing the search saves time.
- Output: heatmaps, bounding boxes, and crops that can feed the next classifier or
demo.
Dynamical systems
Lorenz Attractor Forecasting
A small forecasting study on a chaotic system: can a model predict the next movement, and how quickly do tiny
mistakes grow when predictions are fed back into the model?
Dynamical systems
Forecasting
Time series
Stability
- Task: predict short pieces of motion in a system that is very sensitive to small
changes.
- Why: it is a clean toy problem for understanding the limits of time-series
prediction.
- Lesson: good short-term predictions do not automatically stay reliable over long
rollouts.
Data analysis
EU Elections 2019 Data Analysis
Exploratory analysis of the 2019 European elections: data cleaning, hypothesis checks, and visual summaries.
Public data
Data cleaning
Visualization
Exploratory analysis
- Work: wrangling messy tables, checking consistency, and building reproducible
notebooks.
- Output: plots and narrative conclusions based on quantitative patterns.
Interactive graphics
Fourier City — An Interactive, Audio-Reactive City
A first-person Three.js experience that turns sound into a place you can explore: a live waveform shows the
signal over time while an audio-reactive skyline reveals its frequency spectrum.
Three.js
Web Audio
Signal processing
3D interaction
- Visualization: a 70-band FFT drives building height, brightness, and ground
flow.
- Interaction: real-time sources, filters, pitch controls, and a tracking robot arm
connect audible changes to visible feedback.
Synthetic data
Synthetic Dataset Generation in Blender
Small synthetic-data pipeline for generating labeled images with domain randomization for YOLO-style training.
Synthetic data
3D rendering
Domain randomization
Object detection
- Work: scene randomization, lighting changes, and label export.
- Why: fast iteration when real data is expensive, limited, or hard to collect.
Engineering
Small Web / API Projects
Lightweight backend/API work and small apps focused on turning functionality into something usable and
testable.
Web apps
API design
Frontend basics
Small tools
- Work: API schemas, endpoints, and clean integration with client logic.
- Stack: OpenAPI, SQL fundamentals, HTML, CSS, and JavaScript.
Interactive experiments
Playground
A growing space for browser-native simulations, visual explainers, and small tools that are useful to explore
but not necessarily large enough for standalone project pages.
Browser demos
Interactive simulations
Canvas
Visual tools
- Task: keep small interactive ideas discoverable as they evolve.
- Why: simulations and sliders can explain some concepts better than static text.