LIVEModule 1 is free — no signup, no card

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

lesson 2.6 — scrape a product listing into typed JSONRUN ⌘↵
1import { chromium } from 'playwright';2import { z } from 'zod';34const Product = z.object({ title: z.string(), price: z.number() });56const page = await browser.newPage();7await page.goto('https://sandbox.typescrape.dev/shop');8await page.waitForSelector('[data-product]'); // not sleep(2000)910const rows = await page.locator('[data-product]').all();11const data = await Promise.all(rows.map(extract));
PASS24 records · schema valid · 1.42s
{ "title": "Kettle, 1.7L", "price": 49.95 },{ "title": "Desk lamp, matte", "price": 89.00 },{ "title": "Cable tray", "price": 24.50 },… 21 more
The problem

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.

Outcome

Six weeks from now, you can:

Not "master web scraping." These four things, specifically.

01

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

02

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.

03

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.

04

Ship the side project you shelved.

The one where the data lived on someone else's page and you couldn't get it out.

Start the free lesson Module 1 · selector drills · runs in your browser
How it works

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.

.product-card > div:nth-child(2) ✕ shattered on redesign[data-testid="price"] ✓ survived

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.

TimeoutError: waiting for selector '.price-tag'→ 0 records written · exit 1

Escalation levels

The same product-listings site, five ways. Same data, escalating defenses.

static HTMLCSRpaginationinfinite scrolllogin wall

Real Playwright, real TypeScript

Full scripts with types, executed against the sandbox, output rendered as the actual JSON/CSV you extracted.

✓ No setup. No "first, install these 14 things."Open the browser, start scraping.
Curriculum

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.

shipped in the build
01

Foundations

How scrapers see pages · DevTools as a scraping weapon · CSS selectors that don't shatter · XPath when you need it

FREE NOW
02

Playwright core

Navigation · waiting strategies (the #1 source of flaky scrapers) · locators vs selectors · extracting structured data with types

SHIPPED
03

Dynamic content

JS-rendered pages · infinite scroll · lazy loading · intercepting the underlying API calls instead of scraping the DOM (the pro move)

week 3
04

State & auth

Sessions · cookies · login flows · storage state reuse — log in once, scrape many times

week 4
05

Scraping at scale

Concurrency and browser contexts · queues · retries and backoff · proxies · resilient scheduling

week 5
06

Not getting blocked (ethically)

How bot detection works · fingerprinting basics · being a polite scraper · robots.txt · rate limiting · where the legal lines are

week 6
07

Data pipelines

Cleaning · deduplication · schema validation with Zod · shipping to CSV/JSON/SQLite

week 7
08

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

week 8
CLAUDE SKILLS

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.

No waiting

What you get the moment you join

You're not paying now and waiting six weeks for something to happen.

DAY ONE

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.

DAY ONE

The Discord, and the first curriculum vote.

EVERY WEEK

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.

LAUNCH DAY

The finished course, all future updates, forever.

Founding member offer
$49$149

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

Founding spotsfill / 50 claimed
Claim a founding spot — $49Or try module 1 first. Free, no card, 30 seconds.

Two guarantees

Because you're buying something that isn't finished yet.

01Ship-date guarantee

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.

02Any-time guarantee

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."

Who's building this

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.

FAQ

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.