Skip to content
← All work

P—10 Case study · Tools & automation

Manhwa Agent Bot

Role

Full Stack Developer

Status

completed

Started

Nov 2025

Last activity

Nov 2025

Stack

9 technologies

Overview

An automated offline-first dashboard that tracks personalized reading lists from Asura Scans. Uses a Playwright-based browser emulation layer to detect new unread chapters and displays them in a Flet desktop widget. An n8n workflow orchestrates 6-hourly scans with Docker containerization, automatically opening new chapters in the browser.

Outcomes

3

Docker Tiers

12

n8n Nodes

6hr

Auto-Scan

0

Cloud Deps

Impact

  1. 01Architected 3-tier containerized system: Playwright/FastAPI scraper + n8n orchestrator + Flet desktop GUI
  2. 02Implemented anti-bot bypass with headless Chromium, User-Agent spoofing, and 4-second rate-limit throttling
  3. 03Designed 12-node n8n automation workflow with dual-trigger (6-hour schedule + on-demand webhook)
  4. 04Engineered base64 image pipeline to bypass CDN hotlink protection on Cloudflare-protected sources

Features

01

Offline-First Dashboard

Self-hosted with Docker Compose — fully air-gapped operation with no external service dependencies

02

Browser Emulation

Playwright-based headless Chromium scraper with User-Agent spoofing and 4-second rate-limit throttling to avoid detection

03

n8n Automation

12-node n8n workflow with dual-trigger (6-hour cron schedule + on-demand webhook) for tracking reading list updates

04

Flet Desktop Widget

Cross-platform desktop GUI built with Python Flet — real-time reading list updates with one-click chapter launch

05

CDN Bypass Pipeline

Base64-encoded image pipeline to circumvent Cloudflare hotlink protection while maintaining visual previews

06

3-Tier Architecture

Scraper tier (Playwright/FastAPI) → Orchestrator tier (n8n in Docker) → Presentation tier (Flet desktop app)

Architecture

Three-tier containerized architecture: (1) Scraper tier — Playwright headless Chromium controlled via FastAPI REST API scrapes Asura Scans for chapter updates, bypasses Cloudflare with User-Agent rotation and rate-limit throttling. (2) Orchestrator tier — n8n automation platform running in Docker with 12-node workflow triggered every 6 hours or via webhook; compares current chapter list against stored state and triggers notification on new chapters. (3) Presentation tier — Flet desktop app displays reading list with chapter status (read/unread/new) and one-click browser launch.

Stack

PythonFastAPIPlaywrightBeautifulSoupFletUvicornDockern8nKubernetes

Development log

  1. · Started

    Manhwa tracker with containerized scraping

    Automation-heavy manga/manhwa tracker with containerized scraping and persistent state handling. It tracks all my manhwas and gives me one app with direct links to them across multiple sources. It improved my quality of life.