You’ve done this dance before. You need data from a website. Simple enough, right? So you spin up a server, install Puppeteer, fight with headless Chrome for three hours, configure proxies because Cloudflare blocked your IP, manage API keys, handle rate limiting, write retry logic, deploy to AWS, and then—only then—you get a JSON object with five fields.
It’s insane. We’ve all just accepted it.
The entire web scraping industry is built on a lie: that you need a backend to extract data from a web page. You don’t. You never did.
Enter Fitter. It’s a declarative web-data extraction tool that runs entirely in your browser. No servers. No API keys. No proxy rotation. You write a query, the browser fetches the data, and you get structured output. That’s it.
The first time I saw it work, I felt something I haven’t felt in years of writing scraping code: relief. Genuine, physical relief. Like putting down a backpack I didn’t realize I’d been carrying since 2015.
Here’s the paradigm shift that matters: Fitter treats data extraction as a client-side problem. The browser already renders the page. The browser already has the DOM. The browser already handles cookies and sessions. So why are we duplicating all of that work on a server somewhere in Virginia?
Every scraping backend in existence is just a worse version of a browser, running on someone else’s computer, charging you by the hour.
Fitter’s declarative approach means you describe what you want, not how to get it. You don’t write imperative scripts that break every time a website adds a div. You write a configuration that says “give me the title, price, and reviews from this page”—and Fitter figures out the rest.
But let’s be honest about the tension here. Real-world web pages are garbage. Dynamic content loads asynchronously. Anti-scraping measures get more aggressive every quarter. HTML structures change without warning. The promise of frictionless extraction collides with the reality that the web is a hostile, messy, inconsistent place.
Fitter doesn’t magically solve all of that. What it does is something more radical: it gives you control. When extraction runs in your browser, you see exactly what’s happening. You debug in real-time. You’re not staring at logs from a headless server wondering why your selector returned null.
The most dangerous thing about Fitter isn’t the technology—it’s the question it forces you to ask: how much of my infrastructure exists only because I never questioned the default?
For developers prototyping data pipelines, for analysts who need data from pages they can’t run server-side code on, for anyone who’s ever wasted a Friday night wrestling with Selenium—Fitter represents something beyond a tool. It’s a reminder that the simplest solution is usually the one we skipped because everyone else was doing it the hard way.
The browser is already the most powerful data extraction tool ever built. It renders pages, executes JavaScript, manages sessions, and displays results—all in real-time, right in front of you. Fitter just lets you talk to it.
100 stars in one day. People are dreaming for a reason. They’re waking up.
FAQ
Q: Can browser-based scraping really replace server-side at scale?
A: No, and that's the honest tradeoff. Fitter excels for prototyping, personal data pipelines, and scenarios where you need data from pages you can access in your browser. At massive scale with thousands of concurrent requests, traditional infrastructure still wins. Fitter isn't killing backends—it's killing unnecessary backends.
Q: What happens when a site has aggressive anti-scraping protection?
A: You hit the same walls you'd hit anywhere. The difference is visibility: in the browser, you can see exactly what's blocking you, interact with CAPTCHAs manually, and debug in real-time. Server-side scraping hides these problems behind error logs. Fitter makes them visible—and sometimes visible is more useful than automated.
Q: Is declarative extraction actually better than imperative scripts?
A: For 80% of use cases, yes. Imperative scripts break constantly because they're tightly coupled to DOM structure. Declarative configs survive minor HTML changes because they describe intent, not implementation. The 20% where imperative wins involves complex multi-step interactions—but those are rare, and Fitter isn't pretending otherwise.