I found a small model on Hugging Face recently that looked interesting, so I decided to experiment with it. I converted it to ONNX, got it running in the browser with WebGPU, and somehow it turned into one of those little tools I keep using way more than I expected.

It’s called Pulpie, and basically it takes a webpage and pulls out the actual useful content as clean Markdown. I’ve been using it to save DEV posts I want to keep, tutorials I want to read later, and especially documentation pages that don’t have a nice copy-to-Markdown option.

The part I really like is that it doesn’t just dump the whole page into Markdown. The model is only about 210M parameters and is used to classify which parts of the page are actual content and which parts are navigation, sidebars, boilerplate, etc. Then the remaining HTML gets converted normally.

That means things like headings, code blocks, links, tables, and images stay intact.

Today I tried it on a huge Claude Code documentation page with a bunch of tables and code examples, and it handled the whole thing really well. I have also saved long DEV posts to read later with all of the images still included.

I made one version that runs locally in the browser through ONNX Runtime Web and WebGPU. The model is around 800 MB, which sounds chunky for a browser app, but it downloads once, which only took a couple of minutes for me, and then it's stored in browser cache. After that, it loads locally and extraction is almost instant on my machine.

If you want to try it out:

Pulpie

I also made a local FastAPI version if you'd rather run it as a local app instead of using the WebGPU browser version. That one can be downloaded from GitHub:

GitHub logo pinkpixel-dev / pulpie-ui

A fast web interface for extracting the main content from web pages and HTML into clean Markdown.

Pulpie Local UI

A fast web interface for extracting the main content from web pages and HTML into clean Markdown. Powered by the feyninc/pulpie-orange-small 210M EuroBERT encoder model.

Try It Online (No Installation)

You can try the in-browser WebGPU version with no local setup required:

Why Pulpie?

Most modern content extractors either use brittle heuristics (regular expressions and readability rules) or heavy generative models (decoders) that generate text token by token.

Pulpie takes a different path:

  • Single-pass encoder: Instead of generating text from scratch, it tokenizes the page into blocks and classifies every block as content or boilerplate in a single forward pass.
  • Fast and light: The recommended 210M model matches state-of-the-art extractors while running up to 20x faster. On an RTX 4090 GPU, extractions take around 15 to 40 milliseconds.
  • Clean Markdown with images: It keeps headlines…

I think this is actually one of my favorite uses for a small specialized model so far. It isn’t generating Markdown or rewriting anything. It just answers a much simpler question:

Is this block part of the page I actually care about?

Once it answers that, regular deterministic tools can handle the rest.

No API calls, no cloud inference, and no giant model needed just to clean up a webpage.

This was just a fun little experiment that ended up working so much better than I expected, but since it's been so useful for me, I thought I'd share it.

I can't be the only one who wants to save everything on the internet!