Working on a rust based version of spaCy that can run in browser, anyone here interested?
I've been rebuilding spaCy's en_core_web_md pipeline from scratch in Rust, compiled to WASM. Tokenizer, POS tagger, dependency parser, lemmatizer, NER, and the 300-dimension word vectors — all of it, running client-side.
The whole thing is a single self-contained HTML file. The model weights and the Rust runtime are baked right in. You can save it, open it on a plane, and it still works — there is no backend call, no API key, no pip install. Nothing ever leaves your machine.
It's not an approximation. I scored it against spaCy's own output on a 1,000-sentence held-out set:
POS tags: 100%
Fine-grained tags: 100%
Lemmas: 100%
Dependency UAS / LAS: 99.9% / 99.8%
NER F1: 1.00
The demo has a live parse meter (watch the tokens/sec tick as you type), a displaCy-style entity + dependency-arc view, word-vector similarity, and document embeddings — all computed locally, in real time.
One honest caveat: it's a ~45 MB file because the entire model is embedded. That's the price of "works with wifi off, forever."
Disclaimer: I built this heavily with AI assistance — figured I'd be upfront about it. The code is real and the parity numbers are measured, but I'm not going to pretend I hand-wrote every line of Rust. Happy to answer questions about how it actually works.
If there's interest, I'll link the repo.
Curious what people think — especially anyone who's tried to ship spaCy somewhere without a Python runtime.