Learn web scraping by actually scraping.
An interactive course for TypeScript developers. Write real Playwright code against real (sandboxed) sites — JS-rendered pages, infinite scroll, login walls, bot detection — and walk away able to build a production scraper that doesn't break the week after you ship it. No videos of someone else's terminal.
You're scraping in 30 seconds. The buy is the second thing you do.
Built by a TS engineer who ships production scrapers for a living — fill: X scrapers in prod / Y records per day
Module 1 is live and free right now. The course exists — try it before you trust it.
fill: N founding spots claimed — only once it's true
Every scraping tutorial is the same.
A Python script, BeautifulSoup, a static HTML page from 2015, and a cheerful "that's it!" — right before you hit a real site and discover the data loads via JavaScript, the markup changes weekly, and your requests start getting blocked.
Real scraping in 2026 means headless browsers, dynamic content, and sites that fight back. That's Playwright territory. And if you live in TypeScript, you've been stuck translating Python tutorials this whole time.
Watching someone scrape teaches you almost nothing.
Scraping is a debugging skill — reading DOM structure, crafting selectors that survive redesigns, figuring out why you got an empty array. You only learn it with your hands on the keyboard. So that's the whole course: your hands, on the keyboard, from minute one.
Six weeks from now, you can:
Not "master web scraping." These four things, specifically.
Take the scraping work you currently turn down.
Data-extraction contracts are some of the better-paid short-engagement freelance work going, and most of the supply is Python devs. fill: the $X contract you took
Stop paying a scraping vendor.
Managed extraction APIs run into real monthly money at volume. One competent in-house scraper is a line item you delete.
Pass the interview question you'd currently fumble.
"How would you handle a site that renders client-side and rate-limits you?" has a real answer — and you'll have given it against a live site eight times.
Ship the side project you shelved.
The one where the data lived on someone else's page and you couldn't get it out.
Write code. Run it. See the data.
Every lesson is a live challenge against a sandboxed target site built to behave like the real web.
Selector drills
Craft selectors that grab exactly the right elements, get instant pass/fail feedback — then watch the site's markup change and see if your selector survives.
Fix the broken scraper
Inherit a scraper that used to work. The site shipped a redesign. Make it work again — the single most realistic scraping exercise there is.
Escalation levels
The same product-listings site, five ways. Same data, escalating defenses.
Real Playwright, real TypeScript
Full scripts with types, executed against the sandbox, output rendered as the actual JSON/CSV you extracted.
Eight modules. Each one ends in the sandbox.
Modules 1 and 2 are built — module 1 is free to try right now. Founding members vote on the order of everything after that.
Foundations
How scrapers see pages · DevTools as a scraping weapon · CSS selectors that don't shatter · XPath when you need it
Playwright core
Navigation · waiting strategies (the #1 source of flaky scrapers) · locators vs selectors · extracting structured data with types
Dynamic content
JS-rendered pages · infinite scroll · lazy loading · intercepting the underlying API calls instead of scraping the DOM (the pro move)
State & auth
Sessions · cookies · login flows · storage state reuse — log in once, scrape many times
Scraping at scale
Concurrency and browser contexts · queues · retries and backoff · proxies · resilient scheduling
Not getting blocked (ethically)
How bot detection works · fingerprinting basics · being a polite scraper · robots.txt · rate limiting · where the legal lines are
Data pipelines
Cleaning · deduplication · schema validation with Zod · shipping to CSV/JSON/SQLite
Capstone
Build a complete monitoring scraper end-to-end and run it against a live sandbox that changes daily — scheduled runs, alerting on data changes
Every module ships with a matching Claude Skill you install in Claude Code — so Claude scaffolds, reviews and debugs your scrapers the way the course teaches, not the way a Stack Overflow answer from 2019 does.
What you get the moment you join
You're not paying now and waiting six weeks for something to happen.
Modules 1–2 in full, plus every sandbox target site — the fake e-commerce site, the infinite-scroll feed, the login-walled dashboard. Point your own scripts at them, no course required.
The Discord, and the first curriculum vote.
A new module ships. You watch it get built, you see the commits, you tell me what's missing while there's still time to fix it.
The finished course, all future updates, forever.
Launch price is $149. This one never runs again.
Modules 1–2 and all sandbox sites, immediately
New module every week as it ships — you watch it get built
Full course at launch, all future updates included, forever
Curriculum vote — founding members decide module order
Private Discord with direct access to me during the build
Ships fill: one real public date, 6–10 weeks out
Two guarantees
Because you're buying something that isn't finished yet.
Not shipped in full by fill: one real public date, 6–10 weeks out? Automatic refund, you keep everything already delivered. I don't wait for you to ask.
Refund at any point, before or after launch, for any reason. Keep the modules. No form, no call, no "what could we have done better."
I'm fill: your name, a TypeScript engineer.
Scraping with Playwright is a core part of my day job: fill: production scrapers against sites with active bot detection — how many, what scale, how long they've stayed up.
Things I've had to solve for real, which is why they're in the course: fill: 2–3 specific war stories — the site that redesigned mid-run, the fingerprinting wall, the scraper you kept alive two years.
This course is everything I wish existed when I was translating crusty Python tutorials into TS. I'm building it in public: fill: X handle.
The things you're about to ask
Why pay for this when scraping tutorials are free?
Free tutorials teach you the happy path against a static page. This teaches you what happens when the site fights back — which is every site worth scraping. Try module 1 free and judge for yourself.
Can't an AI just write my scraper?
It'll write a plausible first draft that breaks on the first redesign, and you'll have no idea why. Debugging a scraper you don't understand against a site that changed overnight is the actual job. That's what this trains.
What if you don't finish it?
You get modules 1–2 and the sandboxes on day one, so you're never holding nothing. If I miss the ship date you're refunded automatically without asking, and you keep everything delivered so far.
Is this legal / ethical?
There's a full module on it: robots.txt, terms of service, rate limiting, personal data, and where the real-world lines are. All practice targets are sandboxed sites built for the course — you never train on someone else's servers.
Python?
No — TypeScript and Playwright only. That's the point. If you want Python there are a hundred courses; this is the one for TS devs.
How much TypeScript do I need?
Comfortable-intermediate. If you can write async functions and read type annotations, you're fine. This teaches scraping, not TS basics.
Open module 1. Scrape something in the next 30 seconds.
No signup, no card. If it's good, the founding price is right there.