Case Study

SEO Wires

Full-Stack Developer at BlackWires | Feb 2026 - Present

My Role

SEO Wires is a staged content-research system that starts with a website and produces competitor analysis, keyword opportunities, topic groups, and article drafts. At BlackWires, I built the queue-driven worker pipeline behind that workflow.

What I Built

Site Crawl

Built the worker that crawls a submitted website and extracts the content needed to understand the business and its existing coverage.

Competitor Discovery

Built the stage that identifies the 15 closest search competitors and passes their relevant pages into analysis.

Keyword Gap Analysis

Implemented the processing stage that compares site and competitor coverage, then groups opportunities into usable topics.

Research to Draft

Built the writing stage that combines search research, outline context, site voice, and internal-link opportunities into a draft.

Technical Decisions

One Queue per Stage

Crawling, competitor discovery, gap analysis, and writing run as separate workers with explicit handoffs.

Retry and Backoff

BullMQ retries transient failures with backoff so a stalled crawl or provider request does not discard the full pipeline.

Stage Isolation

Each worker can fail, retry, and scale independently without forcing the entire analysis to restart.

Asynchronous Requests

Long audits leave the web request cycle immediately, allowing the application to remain responsive while workers continue processing.

Container Deployment

Workers and application services run in Docker on AWS so processing capacity can be managed independently.

Outcome

The pipeline passes work from crawl to draft without blocking application requests or requiring manual data transfer between stages. Independent workers and retry policies make long-running analyses easier to recover and operate in production.