This site is a retrieval model trained on a corpus I wrote by hand, and it runs entirely in your browser. It is both the data project and the dev one, so it fits in neither list.
90% acc 112 docs TF-IDF
projects
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.
This site is a retrieval model trained on a corpus I wrote by hand, and it runs entirely in your browser. It is both the data project and the dev one, so it fits in neither list.
90% acc 112 docs TF-IDF
01 data
First what moves the data, then what interprets it — which is the order you work in: without a pipeline there is nothing to analyse.
TikTok analytics pipeline: your exports in, real metrics out.
The same for Instagram, starting from Meta Business Suite exports.
Automated ETL that extracts, unifies and reports TikTok and Instagram data, with anomaly detection.
Versioned S3 backup of my analytics exports. An account’s metrics are data: they get versioned like data.
Weekly scraper of Spanish petrol prices via the public MINETUR API. It updates itself every Monday.
Framing 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.
The relationship between menstrual cycle phases and sleep quality, using my own Apple Health data.
Attack risk by activity, as data-cleaning practice and an insurance pricing business case.
Relational database and business analysis over the Home Credit Default Risk dataset.
02 dev
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.
It 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.
Dual-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.