projects
What I have built
Ordered by what they show, not by how good they look. The bootcamp exercises are not here: they are exercises, and including them would bury the things that are actually projects.
14 projects4 yearsPython + Rust
First what moves the data, then what interprets it — which is the order you work in: without a pipeline there is nothing to analyse.
AWS keys leaked on purpose to see who uses them and how fast. 1,301 real attacks, mapped to MITRE ATT&CK, enriched with OSINT and with a cost model on top.
python · aws · streamlitML system that scores 123,000 real VMs and surfaces $5.9M/month in cloud waste. Quantile regression with asymmetric loss and dual CPU + memory models to avoid terminating what is actually busy.
python · xgboost · plotlyPredictive maintenance over SMART data from 318,000 production drives: it detects 96% of failures before they happen, with a cost-calibrated threshold.
python · xgboost · polarsRoom occupancy detection with a single CO₂ sensor. Physical limit: the sensor measures gas concentration, not people.
python · jupyter · viterbi · switchbotReal Vanguard A/B test: 70,609 clients, 755,405 web events. Did the onboarding redesign work?
python · sql · tableauFraming and missing-variable bias in real wage data: 70.6%, 19.1% or 15.0% depending on what you compare. All three are defensible, and that is the problem.
jupyter · pandas · ipumsTikTok analytics pipeline: your exports in, real metrics out.
python · pandasThe same for Instagram, starting from Meta Business Suite exports.
python · pandasAutomated ETL that extracts, unifies and reports TikTok and Instagram data, with anomaly detection.
python · prefectWeekly scraper of Spanish petrol prices via the public MINETUR API. It updates itself every Monday.
python · github actionsThe relationship between menstrual cycle phases and sleep quality, using my own Apple Health data.
jupyter · apple health
Things I wanted to use and that did not exist, or not the way I wanted them. All private for now, so they come without a link.
Three attempts at the same problem: moving keyboard, mouse and clipboard between macOS and Windows. united-stations is my own Rust implementation; deskflow-plus started from cloning Deskflow, in C++; cliptomaniac keeps only the clipboard part. All three stay documented, including why I dropped the first two.
rust · c++safeshell
privateIt intercepts the command before the shell runs it and, depending on context — git directory, environment variables, SSH session — warns, asks for confirmation or blocks it. No telemetry: it makes no network calls at all.
rustzero-waterfaks
privateDual-engine CLI that strips the watermarks and probabilistic tells LLMs leave in the code they generate, without touching the program's logic. Same on .py scripts and .ipynb notebooks.
python