Shuvo.

Full-Stack Developer & Educator · Gazipur, BD

← All projects

BWorkingIn progressTypeScript

MediaHarvester

MediaHarvester: paste a URL, crawl the site, pull out every image and video, then browse, filter and download them singly or as a zip. Cheerio for static pages with a Playwright fallback when the markup needs JavaScript.

Next.js 14ReactTailwind CSSTypeScriptPlaywrightCheerio

Private Client Repository

This software was engineered for a private business or client organization. If you are a hiring manager, technical lead, or potential client wishing to inspect the architecture and code quality, I would be pleased to grant you access or provide a code walkthrough. Please contact me at mohammadshuvo2525@gmail.com.

The Engineering Challenge

Half the web renders its media with JavaScript, so parsing the HTML a server returns finds nothing. Rendering every page in a real browser instead is slow enough to be useless.

The Solution & Architecture

Static HTML is parsed with Cheerio first, and only pages that come back without media fall through to a Playwright Chromium render. A p-queue caps concurrency, archiver streams the zip rather than buffering it, and jobs live in an in-memory Map — no database, because nothing needs to outlive the download.

TierBWorking. Real applications, narrower in scope.
StatusIn progress
CategoryReact & Next.js
Technology StackNext.js 14, React, Tailwind CSS, TypeScript, Playwright, Cheerio
LanguagesTypeScript 97%
Lines of code2,580 (excluding libraries & vendor files)
Commits1
Last updated2026-07-30
VisibilityPrivate • Access upon request
Repositorymediascrape

Have a project in mind or interested in discussing this system? Let's talk →

Other working systems