I extract clean, structured data from websites that fight back — JavaScript-only pages, infinite pagination, bot protection, mobile APIs with no public endpoint — and I turn it into files and pipelines people can actually work from.
Most of what I build is client work and stays private. What lives here is the tooling that is useful on its own.
botwall — tells you which bot protection a site runs, and whether a plain request gets through. One HEAD request per host, read-only. It is the first thing I run when someone sends me a URL, because most scraping projects fail for a reason that could have been known in ten seconds.
Working with: Python · Node.js · Playwright · Puppeteer · Pandas · PostgreSQL · Next.js
I also run a data product of my own: a vehicle deal radar that collects listings from several marketplaces every day, prices each one against its real comparables, and flags the undervalued ones. 755 valuation models, an append-only market history, and a monitoring layer that catches silent failures before the data goes stale.
Public data only, collected at a human rate.