01
The model is the easy part
Calling .fit() is four characters. What decides whether a
project works is everything around it: is that all-unique integer
column an ID or a rounded price? Does resample().sum()
return zero or NaN for a month with no sales? Is
01/02/2023 January 2nd or February 1st?
Each of those got the wrong answer at some point in these projects,
and each produced plausible output rather than an error. That's the
dangerous kind.
02
A number nobody checked is a guess
The A/B analyser's distribution functions are validated against scipy
on 464 committed cases. The digit recognizer's JavaScript forward pass
is compared to its NumPy original at 4.77e-6. The forecaster's models
are scored by walk-forward validation against naive baselines that
stay visible in the leaderboard.
Writing those checks is where most of the bugs turned up.
03
Say when the answer is weak
k-means will happily partition pure noise. A 40-row dataset will
happily report 94% cross-validated accuracy and 56% on held-out data.
A test checked twenty times has a 64% false-positive rate, not 5%.
These tools say so, in plain language, at the point where you'd
otherwise draw the wrong conclusion. A portfolio project that tells
you when to distrust it is more useful than one that never does.
04
Ship it, or it doesn't count
Everything here is deployed and reachable. Most run Python compiled to
WebAssembly in a Web Worker, which means no cold starts, no hosting
bill, no service to go down before someone clicks the link — and your
data never crosses the network.
Every repository runs its tests in CI on every push, and deploys
itself.