Pulpie – Pareto-Optimal Models for Cleaning the Web
210M param model matches 600M param Dripper at one twentieth the cost.

Encoder architecture cuts extraction costs 20x versus Dripper while matching quality.
ML engineers training LLMs, teams building RAG pipelines, large-scale web scrapers
Dripper · Trafilatura · Readability
We match SOTA extraction quality while being 20x cheaper. Cleaning 1 billion webpages costs $7,900 with Pulpie versus $159,000 with Dripper, the current leading extractor.
The gains come from architecture. Today's leading extractors are decoders that generate output one token at a time. Each step reads the full model from memory to produce a single token. Conversely, Pulpie models are encoders. They run one forward pass over the full input HTML and label each block as boilerplate or content. As a result, Pulpie is compute-bound while decoders are memory-bound. Cheaper GPUs have relatively more compute than memory bandwidth. This makes Pulpie easy to run optimally.
Here's Pulpie and Dripper cleaning the same pages side by side: https://www.youtube.com/watch?v=ibd-tIiQECo. You can try a side-by-side comparison yourself: https://huggingface.co/spaces/feyninc/pulpie
Our motivation for Pulpie came from building a deep research harness. Every search API returns noisy content that contains ads, nav elements, and sidebars. In one instance, an ad for "Gemini on Pixel" slipped into our search results, got passed into LLM context, and ended up in the final answer served to the user. Pretty embarrassing moment for us but it helped us realize how bad data kills model intelligence. We built Pulpie to get clean data for cheap.
All models are open source on Hugging Face. You can read about our training process and how to use Pulpie here: https://usefeyn.com/blog/pulpie-pareto-optimal-models-for-cl...
Happy to answer any questions!
210M param model matches 600M param Dripper at one twentieth the cost.
Parallel model generation is nice, but Stripo and Beefree already solve this.
Terminal-window code blocks that stay as real selectable HTML, not screenshots.
@@ syntax avoids IDE collisions and chains block outputs in one prompt.
ML-encoded signatures with revocation—clever research primitive, but not cryptographically proven.
Annotation-to-HTML-comment conversion is neat, but CodePen and JSFiddle already exist.