Swastik Agnihotri
WorkSystems (19+)ArchitectureDomainsEngineeringExperience
Resume ↗Contact
Swastik Agnihotri

Digital Growth & Technical SEO Specialist. Building scalable SaaS architectures, automated search workflows, and data-driven intelligence.

Available for 2026 roles & technical advisory

Navigation

  • Overview
  • Case Studies
  • Technical Skills
  • Experience
  • Contact

Connect

GitHubLinkedInEmailDownload Resume PDF ↗

© 2026 Swastik Agnihotri. All rights reserved.

Built with Next.js & Tailwind•Continuous Reliability

Back to All Projects
WAYFINDING //OverviewProblemWhat I BuiltWorkflowTask RegistryProof GalleryTechnical DetailsRecruiter Q&A
Category: Web Automation & Data Extraction SaaSReact Flow DAG BuilderHeadless Browser EngineAI Schema Extraction

CrawlMindAI: Visual Web Automation & Data Extraction Studio

Turns unstructured web pages into structured JSON APIs using visual DAG workflows and AI extraction.

A visual node-based browser automation platform combining drag-and-drop React Flow pipelines, headless browser clusters, and LLM-assisted schema extraction to convert complex dynamic websites into clean, reliable JSON feeds.

18 NodesModular Task Registry
React FlowVisual DAG Pipeline
Gemini / GPTAI Schema Synthesis
Stripe CreditsUsage-Based Billing
CrawlMindAI Visual Workflow Studio
Visual Canvas: React Flow DAG Web AutomationClick to Enlarge
Understand Problem & WorkflowInspect 18 Task NodesPrivate Repo • Request Access
THE REAL-WORLD PROBLEM

Why Web Scraping Scripts Constantly Break

Marketing teams and data engineers often need to extract competitive pricing, catalog availability, and market intelligence from dynamic modern web applications. Building programmatic content, tracking competitor discount shifts, or monitoring job boards requires fresh structured data feeds.

Businesses need to turn dynamic, multi-step web interactions into reliable JSON APIs without writing brittle, one-off scripts for every target domain.

The problem is that modern websites rely on complex single-page architectures (React, Vue, Next.js), infinite scroll, modal dialogs, and dynamic DOM mutations. Traditional HTML scrapers like BeautifulSoup fail completely on JavaScript-rendered content, while raw Puppeteer scripts break whenever a CSS selector changes by a single character. Engineering teams end up spending 70% of their time maintaining broken scrapers rather than utilizing data.

PRODUCT SCOPE & CAPABILITIES

What I Built: The CrawlMindAI Platform

A visual web automation and structured extraction studio composed of five verified systems:

Visual React Flow Canvas

Interactive node-based DAG editor allowing drag-and-drop workflow assembly, validation connections, custom parameter inputs, and real-time execution graphs.

Headless Browser Automation

Puppeteer engine executing clicks, form input filling, infinite scroll pagination, and synchronization barriers with custom stealth headers to bypass bot blocks.

AI-Assisted Schema Parsing

Integrates Google Gemini and OpenAI to digest raw HTML fragments and output strictly validated JSON schemas, eliminating brittle CSS selector maintenance.

Direct Hydration Extraction

Extracts __NEXT_DATA__ JSON payloads and JSON-LD schema metadata directly from script tags, retrieving raw data without triggering expensive DOM rendering.

Phase Telemetry & Credit Billing

Tracks phase-by-phase execution logs, node status timestamps, credit consumption costs, and Stripe billing pack integration backed by PostgreSQL (Prisma).

END-TO-END AUTOMATION PIPELINE

How It Works: Web Task to Structured Result

A simple visual breakdown of how unstructured web interfaces are transformed into structured API payloads:

STEP 01

TASK

User visually connects nodes in React Flow to define target URLs and scraping goals.

STEP 02

BROWSER

Puppeteer launches headless Chromium, navigates to target, and injects stealth headers.

STEP 03

INTERACT

Simulates human clicks, fills form filters, and scrolls to trigger dynamic content loads.

STEP 04

AI EXTRACT

LLM parses target HTML fragments and synthesizes strict, typed JSON schemas.

STEP 05

DELIVER

Validates JSON structure and delivers data payload via HTTP POST to user webhook.

NODE REGISTRY // 18 VERIFIED TASKS

Modular Task Nodes Directory

Showing 18 Task Nodes
INITIALIZERbrowser

Launch Browser

Spawns a headless Chromium instance with stealth plugins and randomized viewport.

Input: None (Root Node)
Output: Browser Context Token
NAVIGATIONbrowser

Navigate to URL

Navigates to the target page with customizable wait-until network idle conditions.

Input: URL String
Output: Loaded Webpage State
DOM EXTRACTIONextraction

Page to HTML

Captures the fully hydrated client-side HTML DOM after all scripts execute.

Input: Browser Page
Output: Raw HTML String
CSS SELECTORextraction

Extract Text from Element

Retrieves inner text content matching a specific CSS or XPath selector.

Input: Selector String
Output: Extracted Text Value
SIMULATIONinteraction

Click Element

Emulates user mouse clicks on buttons, pagination links, or expanding accordions.

Input: Target Element Selector
Output: Mutated Page State
FORM FILLINGinteraction

Fill Input

Automates keyboard keystrokes to input search terms, dates, or login credentials.

Input: Selector & Input Text
Output: Filled Form Element
INFINITE SCROLLinteraction

Scroll to Element

Scrolls viewport to trigger lazy-loaded images, infinite catalog feeds, and dynamic DOMs.

Input: Element or Pixel Offset
Output: Scrolled Window State
SYNCHRONIZATIONbrowser

Wait for Element

Pauses workflow execution until an asynchronous element appears or disappears.

Input: Selector & Timeout (ms)
Output: Resolved DOM Element
LLM SCHEMA PARSERextraction

Extract Data via AI

Passes raw HTML to Google Gemini / OpenAI to parse unstructured content into strict JSON.

Input: HTML & Extraction Prompt
Output: Structured JSON Object
HYDRATION BYPASSextraction

Extract Next.js Data

Directly parses the `__NEXT_DATA__` script tag, extracting props without DOM rendering.

Input: Page Context
Output: Hydration State JSON
SCHEMA METADATAextraction

Extract JSON-LD

Extracts embedded schema.org semantic metadata (Product, Review, JobPosting).

Input: Page Context
Output: JSON-LD Schema Array
LINK GRAPHextraction

Extract Links

Scrapes all internal and outbound hyperlinks matching regex path patterns.

Input: HTML / Page
Output: URL Array
URL DISCOVERYbrowser

Fetch Sitemap

Fetches and parses remote XML sitemaps to feed batch URL lists to worker queues.

Input: Sitemap XML URL
Output: URL Queue Batch
DATA ACCESSjson

Read Property from JSON

Extracts a specific nested field or array element from a JSON pipeline payload.

Input: JSON & Property Key
Output: Property Value
TRANSFORMATIONjson

Add Property to JSON

Injects calculated values, timestamps, or transformed strings into an active JSON object.

Input: JSON, Key & Value
Output: Mutated JSON Object
DATA INTEGRITYjson

Validate JSON Schema

Validates extracted payload against a formal JSON Schema, throwing alerts on drift.

Input: JSON & Schema Spec
Output: Validated Payload
WAF BYPASSbrowser

Inject cURL Headers

Sets custom HTTP request headers, User-Agents, and cookies to emulate clean browsers.

Input: Header Key-Value Pairs
Output: Customized Context
API DISPATCHdelivery

Deliver via Webhook

Dispatches the final structured JSON dataset to an external HTTP POST API endpoint.

Input: Endpoint URL & Payload
Output: HTTP Response Code
VERIFIED PRODUCTION DELIVERABLES // LIGHTBOX GALLERY

Production Screenshot Evidence & Proof Cards

Every visual proves a verified capability of the platform. Click any asset to inspect in full-resolution modal.

Visual DAG Workflow Builder
Visual DAG Builder

01 — Visual DAG Workflow Builder

This screenshot proves: React Flow visual graph assembly with node execution handles.

Why it matters: Eliminates the need to write custom Python scripts for routine scraping tasks.

Competitor Price Scraper Pipeline
Competitor Pipeline

02 — Competitor Price Monitoring

This screenshot proves: Recurring automated execution against complex e-commerce catalogs.

Why it matters: Delivers daily pricing updates without manual web browsing or human data entry.

Structured JSON Extraction Results
Structured JSON Output

03 — Structured JSON Results

This screenshot proves: Raw HTML converted to clean, strongly typed JSON schemas.

Why it matters: Eliminates regex post-processing and custom cleaning scripts for extracted datasets.

ENGINEERING FOUNDATION // TECHNICAL IMPLEMENTATION

Full Technical Architecture

Built strictly from verified repository components with high-performance modern web technologies:

FRONTEND & DAG

Next.js 14, React 18, React Flow canvas, Tailwind CSS

DATABASE & ORM

PostgreSQL (Neon DB) with Prisma ORM (7 core models)

BROWSER AUTOMATION

Puppeteer headless Chromium with stealth bypass

AI EXTRACTION

Google Gemini & OpenAI API structured JSON output

AUTHENTICATION

Clerk Auth multi-tenant session management

BILLING & CREDITS

Stripe checkout sessions with credit pack consumption

INFRASTRUCTURE

Docker container, Kubernetes manifests, Helm charts

DISPATCH

Webhook delivery with encrypted credential store

BUSINESS VALUE

What the Platform Enables

  • Builds Scraping Pipelines Visually: Connects complex multi-step browser tasks in a clean React Flow canvas without coding.
  • Resilient to HTML Redesigns: Uses AI schema extraction to parse meaning rather than relying purely on brittle CSS paths.
  • Bypasses Client Rendering Overhead: Direct `__NEXT_DATA__` extraction pulls raw JSON in milliseconds where supported.
  • Automates Downstream Integration: Automatically dispatches validated datasets directly to external API endpoints.
SCOPE & HONEST BOUNDARIES

Demonstration Boundaries

This portfolio case study demonstrates the visual React Flow workflow builder, headless Puppeteer interaction engine, and AI schema synthesis architecture.

Target domain scraping respects robots.txt and rate-limiting guidelines; proprietary client proxies, commercial CAPTCHA solving tokens, and live user databases are sandboxed.

* Zero fabricated success metrics or unverified client data scale claims are made.

PORTFOLIO STORY // UNIFIED DIGITAL GROWTH ECOSYSTEM

How CrawlMindAI Connects Across the Portfolio

Every project in this portfolio represents a specialized phase of the digital growth lifecycle:

EXTRACT / INGEST

CrawlMindAI

Automates web data collection & competitive intelligence.

ATTRACT / CREATE

SearchFoundry

Programmatic content generation & graph linking.

MONITOR / DETECT

TrafficSentinel

90-day search decay detection & refresh briefs.

MEASURE / ATTRIBUTE

Pathfinder MTA

ClickHouse cookieless tracking & Markov attribution.

CLOSING STATEMENT

What This Project Demonstrates

CrawlMindAI demonstrates full-stack software engineering across visual DAG graph builders, distributed headless browser automation, and AI-powered data normalization. It proves the ability to engineer commercial SaaS platforms that solve difficult data ingestion and automation challenges through resilient architecture.

Explore Next Project (07: Marketing API MCP)
ENGINEERING INTERVIEW CHEATSHEET // RECRUITER DEFENSE

Recruiter Q&A: Architectural Soundbites

Direct answers to high-stakes interview questions regarding React Flow DAG execution, anti-bot resilience, and AI schema parsing.

Q1: How does CrawlMindAI compile a visual React Flow graph into an executable scraping plan?

Answer: React Flow nodes and edges are validated for topological dependency ordering using a directed acyclic graph (DAG) compilation algorithm. The system verifies that every node has required prerequisite inputs (e.g. an element click node must receive a valid page context from a browser navigation node) and generates an ordered execution plan with discrete phases stored in PostgreSQL.

Q2: How do you handle bot detection and Cloudflare challenges?

Answer: Through stealth browser arguments and WAF evasion techniques. The Puppeteer instance strips automation indicators (like navigator.webdriver = false), randomizes user-agent headers and viewport dimensions, and injects realistic mouse movements and scroll delays. Additionally, where target sites use Next.js, our direct __NEXT_DATA__ extraction bypasses headless browser execution entirely by fetching raw JSON hydration payloads.

Q3: Why use an LLM for data extraction instead of pure CSS selectors?

Answer: Fragility. Pure CSS and XPath selectors break whenever a target website pushes a minor frontend UI redesign, changes class naming conventions, or injects random Tailwind hashed classes. An LLM acts as an adaptive semantic layer: given an HTML block and an extraction prompt, it understands context (like product title, price, or description) regardless of DOM structure, resulting in self-healing scrapers.

Q4: How does usage metering and credit consumption work?

Answer: Each task node in the registry has a predefined credit cost based on computational overhead (e.g. simple navigation costs 1 credit, while AI extraction costs 5 credits). In our Prisma schema, the WorkflowExecution atomic transaction verifies the user's UserBalance before launching workers. If successful, credits are deducted per phase, backed by Stripe credit pack purchases.

RECRUITER TELEMETRYVERIFIED SYSTEM
Target Roles

Full-Stack Engineer • Web Scraping Specialist • Automation Engineer

Core Tech Stack
Next.js 14React FlowPuppeteerPostgreSQLPrismaGoogle Gemini
System Specs
18Task Nodes
DAGReact Flow
LLMSchema Parse
StripeCredit Packs
Engineering Boundaries
  • Topological DAG execution validation
  • Direct Next.js hydration payload bypass
  • Granular execution phase logging
Private Repository (Request Access)
SECTION DIRECTORY
01. System Overview02. The Business Problem03. What I Built04. Operational Workflow05. 18 Task Nodes06. Proof Gallery07. Technical Details08. Recruiter Q&A
Astronaut floating in space
Available for 2026 Roles

Let's build repeatable growth engines.

I'm open to Digital Growth, Technical SEO, SaaS, AI Automation, and Analytics opportunities.

Download Resume ↗GitHub Profile ↗LinkedIn Profile ↗Email Me