about csvfit
A browser-only machine learning playground. Drop a CSV, train a model, inspect the results. No accounts, no uploads, no backend.
How it works
Everything runs inside a Web Worker in your browser. A Python runtime (Pyodide) compiled to WebAssembly loads scikit-learn and other Python ML packages directly into the tab. When you drop a CSV, the bytes stay in browser memory; training happens on your CPU; the leaderboard and evaluation plots render from local state.
There is no server to send data to. The site is a static export hosted on a CDN. Open your browser's DevTools network panel while training, you will see the Pyodide runtime and the snapshot tarball load once, and nothing else.
Why
Most “upload your data” ML tools are thin wrappers around a server that keeps a copy of what you send. For quick exploration on a dataset you would rather not hand to a third party, the friction is real. csvfit is the version where the browser is the compute and the data never moves.
What it is not
Not a replacement for a proper training pipeline. The browser caps memory at a few hundred megabytes and runs on a single thread. Current models: KNN. Good for learning, prototyping, and datasets that fit comfortably in RAM. Not good for gigabyte-scale data or production training.
Contact
Questions, bug reports, or consulting inquiries: [email protected]