Bias detection, in your tab
Two ways to run the same XGBoost model with zero server round-trips. Your text never leaves this device. Pick a path — the tradeoff is load time vs inference speed.
Pyodide + .pkl
Run the original pickle
CPython in WebAssembly, unpickles your exact model.pkl and runs the untouched sklearn pipeline — NLTK lemmatizer, TF-IDF, everything.
100% client-side 7.3 s cold start ~1300 ms / prediction ~49 MB transfer
Open the Pyodide demo ONNX + onnxruntime-web
Ship a compact graph
XGBoost exported to a 92 KB model.onnx graph. Preprocessing in JS, inference on WASM — no Python stack at all.
100% client-side 16 s first load* ~14 ms / prediction ~18 MB transfer
Open the ONNX demo *ONNX first load includes a ~13.5 MB WASM runtime download + compile; subsequent loads are fast and cached. Measured on desktop Chrome.