Mon 01 Jun 2026
Seventh pass — 2026-06-01 (animations.dev — Emil Kowalski's web-animation course + SKILL.md)
One item this pass. Surfaced by Anthony 2026-06-01. animations.dev — "Animations on the Web," a $199 interactive course by Emil Kowalski (design engineer at Linear, ex-Vercel design team; author of Sonner + Vaul, ~70M npm downloads/week). Four base modules (animation theory · CSS animations · Framer Motion/Motion · good-vs-great) plus four walkthroughs, lifetime access, four free content updates/year, Discord. Crucially for our stack: the course ships a SKILL.md file (web-animation-design) — agent-ready animation guidelines (easing/duration/spring/perf/prefers-reduced-motion) extracted from Emil's years of work. Enrollment is currently CLOSED — reopens August 25th for 10 days. Waitlist gives two free preview lessons.
| Item | Source | P | Q | S | Total | Move |
|---|---|---|---|---|---|---|
animations.dev — Emil Kowalski web-animation course + bundled web-animation-design SKILL.md ($199, enrollment closed → Aug 25). Theory + CSS + Framer Motion, design-engineering motion craft. |
Anthony's forward 2026-06-01 | 2 | 3 | 1 | 6/9 | Act on — P/Q side only, in TripleD's lane (hidden-bonus rule: install for yourself, don't sell). Not a standalone Articulate product (S=1). The real prize is the bundled SKILL.md: a motion-quality enforcement layer for the coding-agent stack that raises every microsite/lab-page build. Gated by enrollment-closed — the move now is (a) join the waitlist for the two free preview lessons, (b) extract/adapt the animation SKILL.md pattern into the microsite build stack as an interim, (c) Dylan owns the integration + a delta-against-MICROSITE-FORMAT.md motion pass. Full enrollment when it reopens Aug 25. |
Why P=2 (not 3)
The course itself costs time (hours of lessons) — it doesn't recover hours by being watched. The productivity lever is the bundled web-animation-design SKILL.md: dropped into the coding-agent stack, it lets Claude pick correct easing/duration/spring defaults on microsite builds without the "this animation feels off — try again" iteration loop. That's real, measurable iteration-time recovery on a recurring deliverable (every microsite + lab page). P caps at 2 because (a) enrollment is closed until Aug 25 so the full skill file isn't purchasable today, and (b) the benefit is gated on Dylan actually extracting/wiring the skill, not on watching videos. Promotes to 3 once the animation skill is live in the microsite stack and one page ships measurably faster.
Why Q=3
This is the load-bearing axis. Articulate ships microsites, lab pages, and client-facing surfaces as a core deliverable (MICROSITE-FORMAT.md, Slipstream, GIGI, Famflix onboard, articulate-ai.work). Motion polish is exactly the "good → great" lever — and the anti-AI-slop axis Will/Belinda/Dylan already gate on. Direct parallel to the Frontend Design (Anthropic) plugin (first pass, Q=3, "kills the AI-slop tell"): same quality surface, one layer deeper (motion, not just layout/type). Emil is the canonical authority here — Sonner/Vaul are the components half our reference set already imitates. Q=3 holds.
Why S=1 (not higher)
Clients don't buy "an animation course." There is no standalone product here — it's a craft input to Dylan's design lane, not Articulate product surface. Same shape as Hallmark (second pass, S=1, "input to TripleD's existing workflow, not a standalone product"). S promotes to 2 only if motion-craft is scoped as a named quality tier inside the design/microsite offer (e.g. "design-engineering motion pass" as a discrete MEP line item), and to 3 only if a client signs that as a discrete deliverable.
Class-match against failures.md and prior radar passes
- Hallmark (second pass, 2026-05-19, 6/9) — closest match. Anti-slop design skill, npx-installable, TripleD's lane, S=1, Belinda gate before any Articulate surface. animations.dev is the motion counterpart. Same handling: Dylan owns the install, Belinda gates external surfaces, runs delta-against-canon (here:
MICROSITE-FORMAT.md§6 typography + the motion defaults). - Frontend Design (Anthropic) (first pass, Q=3) — same microsite-quality / anti-slop surface, layout layer. animations.dev sits one layer deeper. The two stack: Frontend Design for structure/type, animation skill for motion.
- Taste Pipeline (third pass, 8/9) + SkillOpt (fourth pass, 7/9) — the bundled
SKILL.mdis a ready-made, expert-authored skill artefact. It's a candidate input to the Taste→SkillOpt lifecycle: seed v0 from Emil's file, then benchmark-gate it against our own microsite output. Don't ship Emil's raw file unedited onto client surfaces — route through Dylan + the rule-set discipline first (same as the "build the superior Articulate version" call on Corey Haines, second pass). - No
failures.mdnegative class-match — net-new craft surface, not a repeat fail pattern.
Re-score triggers
- (a) Animation
SKILL.mdwired into the microsite build stack and one lab page ships with measurably better/faster motion vs the hand-tuned baseline → P promotes to 3, total 7/9. - (b) Enrollment reopens Aug 25 and Anthony/Dylan buy in → confirms access; re-score P with the full course + skill file in hand.
- (c) Motion-craft scoped as a discrete line item inside an MEP / microsite engagement (named "design-engineering motion pass") → S promotes to 2, total 7/9; to 3 on first paid sign.
- (d) Belinda delta-against-canon fails — if Emil's easing/duration defaults conflict with
MICROSITE-FORMAT.mdor a deployed client brand's motion language, the skill stays a reference, not an enforced default. Same caveat as Hallmark's 22-theme brand-conflict risk.
Build path
Not built this pass. Next move is lightweight and unblockable today (no enrollment needed):
- Anthony joins the waitlist → two free preview lessons + the SKILL.md exposure.
- Dylan drafts an interim
Design/PromptLibrary/_motion/animation-skill.mdfrom public craft principles + the preview material, scoped toMICROSITE-FORMAT.md. - On Aug 25 reopen: full enrollment, extract the canonical
web-animation-designSKILL.md, run it through Belinda's delta-against-canon gate, then promote to the standard microsite build stack.
Rick gates the spend ($199, inside any reasonable own-tooling budget — not a Rick fight) and the scope (P/Q install only; do not over-build a "motion offer" before a client asks).
Eighth pass — 2026-06-01 (OpenWA — self-hosted WhatsApp API gateway)
Surfaced by Anthony 2026-06-01. rmyndharis/OpenWA (MIT, 7.3k★, v0.1.6) — NestJS REST gateway over whatsapp-web.js (headless-Chrome WhatsApp Web automation). Pitched as "solved the biggest problem with the WhatsApp API: self-hosted, no per-message fees, bulk sends." Installed + tested in sandbox today — build clean, API/auth/webhooks/91 endpoints work; session-start walls at the Chromium launch (and the real link needs a live QR scan = ban-risk action, not taken). Full workup: SuperSebastian/reviews/openwa-2026-06-01.md.
| Item | Source | P | Q | S | Total | Move |
|---|---|---|---|---|---|---|
| OpenWA — self-hosted WhatsApp REST gateway over whatsapp-web.js (NestJS, multi-session dashboard, HMAC webhooks, API-key auth, audit log, CIDR allowlist, n8n nodes). MIT, v0.1.6 alpha-engine. | Anthony's forward 2026-06-01 | 1 | 1 | 2 | 4/9 | Conditional. Skip as a personal tool — duplicates lighter adopted tooling (lharries/whatsapp-mcp inbound + Hermes/Baileys bot, §3f/§3a) on a heavier, more ban-prone engine. Steal one idea: lift the management-plane patterns (HMAC webhooks, API-key auth, audit log, CIDR allowlist) onto the Baileys surface. |
Why the headline is wrong (P1 · Q1)
It didn't solve the WhatsApp-API problem — it wrapped the same reverse-engineered WhatsApp Web engine (whatsapp-web.js, pinned ^1.26.1-alpha.3) in a REST gateway. Still unofficial, still against Meta ToS, still bannable. Not the official Business Cloud API. Engine launches a headless Chromium per session (~300–500 MB each) — strictly heavier than the Baileys websocket path already adopted; the mini's 8 GB ceiling can't host it. v0.1.6, 3 contributors, ~17% test coverage, core Postgres session-create path broken until 17 May 2026. P1 (duplicates lighter tooling), Q1 (adopting it adds risk).
Why S=2 (not 0, not 3)
Real demand exists for a self-hosted, programmable WhatsApp REST API on a client's own infra (transactional/conversational, data-sovereign, no Meta per-message fee) — a clean §3g bundle fit. But the headline use case it sells hardest — bulk sends — is the exact thing canon forbids (whatsapp-pipeline.md + §3f: never bulk outbound), and it's a v0.1 codebase. So the sellable angle is real but fenced and not-yet-mature. S caps at 2.
Re-score trigger
A named client needs a self-hosted WhatsApp REST gateway on their own box (conversational/transactional, not bulk) and OpenWA reaches ≥1.0 with real test coverage + a second maintainer. Until then: conditional. The actionable move now is the idea-steal, not the install — governance patterns onto Baileys, no Chromium tax.
Class-match
- Engine class = same as the WhatsApp work already canon in §3f (whatsmeow/Baileys lineage) — we've already chosen the lighter sibling. Net-new only on the management-plane layer.
- Maturity/hype class-match to agnt.one (fifth pass) and the "10-prompt pack" (sixth) — high star/threads velocity, thin substance. Star count is hype velocity, not maturity.
Ninth pass — 2026-06-01 (OmniVoice Studio — local OSS-ish ElevenLabs alternative)
Surfaced by Anthony 2026-06-01 from a viral X post + screenshot. debpalash/OmniVoice-Studio — Tauri desktop app, "the open-source ElevenLabs alternative." Repo verified, MarkTechPost write-up confirms the feature set. Runs 100% local, no API keys: diffusion TTS across 646 languages (ElevenLabs 32), zero-shot voice cloning from a 3-sec clip, voice design (gender/age/accent/pitch/emotion), YouTube-URL → transcribe → translate → re-voice → MP4 dubbing, global dictation widget (⌘⇧Space any app), Demucs vocal isolation, Pyannote diarization, batch queue, an MCP server (callable from Claude/Cursor), Meta AudioSeal watermarking. v0.2.7. Directly aimed at our incumbent — Anthony runs ElevenLabs Creator ($22/mo: TTS + Scribe STT + Conversational AI, §2/§3f) across narrated decks, GIG Reels VO, the WhatsApp voice-note pipeline, and the Articulate Voice product layer.
| Item | Source | P | Q | S | Total | Move |
|---|---|---|---|---|---|---|
| OmniVoice Studio — local desktop voice-clone / dub / dictation app over a 646-language diffusion TTS, MCP server, AudioSeal watermark. Source-available under FSL-1.1-ALv2 (not true OSS — converts to Apache 2.0 two years after each release, non-compete restriction until then). | Anthony's X forward 2026-06-01 | 2 | 1 | 2 | 5/9 | Conditional. Keep ElevenLabs as default; pilot OmniVoice for the two things it actually wins — (a) the local dictation widget as a personal-productivity daily-driver, (b) free local batch dubbing for GIG reels (646 langs, no per-char cap). Do NOT bundle into a paid client deliverable until the FSL licence is legally cleared for that use (or the embedded release hits its 2-yr Apache-2.0 conversion). Wire its MCP server into a sandbox test against the §3f Scribe path. |
First: the headline is wrong (the spot-check that matters)
The post says "100% Open Source." It isn't. The licence is FSL-1.1-ALv2 (Functional Source License) — source-available, free for personal / educational / research / internal / non-commercial use, with each release auto-converting to Apache 2.0 two years after publication. The whole point of FSL is a non-compete clause: you cannot use it to stand up a competing commercial product or service inside that two-year window. That is load-bearing for the S axis (below) and is exactly the class of overclaim the vendor-doc spot-check rule exists to catch (failures.md — Security Review mislabel 2026-05-18, Hermes tip-pack slop 2026-05-24). Star count is also off — post said 3.6k, repo shows 5.4k — same "star velocity ≠ maturity" note as the OpenWA eighth pass; v0.2.7 is alpha.
Why P=2 (not 3)
Real, bounded productivity. The dictation widget (local, any-app, no cloud) is a genuine daily lever for someone who writes as much as Anthony, and free local batch dubbing is a recurring-deliverable win for GIG reels — drop 50 clips, walk away, no ElevenLabs char cap (Creator = ~100k chars / 100 min/mo). The MCP server means it could drop into the Claude Code stack and replace paid ElevenLabs API calls in the §3f voice-note pipeline. But: it's a desktop app that needs real local GPU/VRAM (the screenshot shows ~5.7G VRAM in use) — the mini's 8 GB ceiling can't host it (Scotty's standing "she's gonna blow"), so it lives on the MacPro or not at all; v0.2.7 alpha vs ElevenLabs "just works"; diffusion TTS is slow without a GPU. It removes a $22/mo line and a char cap — it doesn't transform the workflow. P promotes to 3 once the widget is a proven daily-driver AND a local box hosts the TTS without choking.
Why Q=1
On the deliverables Anthony actually ships, this does not raise quality. Sebastian's own voice-AI surface doc (2026-06-01) puts ElevenLabs at the top for output fidelity — 646 languages is breadth, not fidelity, and on a GIG reel VO or a narrated deck, local diffusion TTS at best matches and more likely sits just below ElevenLabs Creator. AudioSeal watermarking + diarization + Demucs are genuine risk/provenance features, but those read as S (sovereignty) rather than a quality lift on the shipped artefact. Q promotes to 2 only if OmniVoice local output matches/beats ElevenLabs in a blind A/B on a real reel.
Why S=2 (the interesting axis — and where the licence bites)
The sovereign angle is real and is the exact inverse of agnt.one (fifth pass): agnt.one was US-SaaS-on-OpenAI → auto-skip; OmniVoice is local, no-cloud, voice-data-never-leaves-the-box → precisely the §3g data-sovereign-stack fit the bundle wants (PDPL-clean voice cloning/dubbing for regulated UAE/KSA buyers, Roche mentor-in-pocket, finance/healthcare). It clears the RAG-widget skip filter on the sovereignty override.
Two things cap it at 2, not 3:
- The FSL non-compete. Bundling OmniVoice into a paid Articulate deliverable / data-sovereign offer is plausibly a "competing use" (we'd be offering a voice service built on it) and needs a legal read before it can be sold — fenced until that clears or the relevant release reaches its Apache-2.0 conversion.
- It's the commodity layer. Per the voice-AI doc, the money is in the live loop / orchestration / vertical agents (Vapi, Sierra, Decagon), not in TTS/STT/dubbing. OmniVoice is async desktop tooling — it doesn't touch the layer the market pays for.
So: a real sovereign-async-voice angle, but licence-fenced and sitting in the commoditised tier. S=2.
Class-match against failures.md and prior passes
- Vendor-doc spot-check (Security Review mislabel 2026-05-18; Hermes tip-pack slop 2026-05-24) — "100% Open Source" overclaim caught on verification. FSL ≠ OSS.
- OpenWA (eighth pass, same day, 4/9) — same shape: impressive local voice/comms tool, v0.x alpha, headline overclaim, "star count is hype velocity not maturity." OmniVoice scores one higher (5 vs 4) because the sovereign-voice angle is a cleaner bundle fit and it carries no WhatsApp-ban risk — but the maturity gate is identical.
- agnt.one (fifth pass, 1/9) — explicit inverse. agnt.one tripped the US-SaaS-on-OpenAI skip filter; OmniVoice is the local-sovereign override the filter carves out for.
- Corey Haines / 10-prompt pack (second + sixth passes) — if a sovereign-voice offer is ever built, build the productised Articulate version (sovereign voice on client infra), don't resell the raw artefact.
Re-score triggers
- (a) Dictation widget proves a daily-driver + a local box (MacPro) hosts the TTS without choking → P promotes to 3, total 6/9 — act-on for personal use (hidden-bonus rule: install for self, don't sell).
- (b) A regulated UAE/KSA client scopes "voice cloning/dubbing on our own infra, no US cloud" as a discrete deliverable AND the FSL use is legally cleared (or the embedded release has hit its 2-yr Apache-2.0 conversion) → S promotes to 3, total 6–7/9.
- (c) OmniVoice local TTS matches/beats ElevenLabs Creator in a blind A/B on a real GIG reel VO → Q promotes to 2.
- (d) Project reaches ≥v1.0 with real test coverage + a second maintainer (same maturity gate as OpenWA) → lift the alpha caveat.
Build path (unblockable today, no commercial commitment)
Not built this pass. Lightweight next moves: (1) install on the MacPro, test the dictation widget for a week as a personal tool; (2) run one GIG reel through the local 646-language dub pipeline and A/B the VO against the ElevenLabs version; (3) wire the OmniVoice MCP server into a sandbox session and test it against the §3f Scribe path. Rick gates any move past "personal pilot" — specifically any bundling into a paid offer (FSL non-compete) and any spend on a local GPU box to host it.
Tenth pass — 2026-06-01 (Morflax Studio — browser-based 3D mockup + motion tool)
Surfaced by Anthony 2026-06-01. Morflax Studio — browser-based 3D mockup and motion-graphics platform: device/clothing/branding mockups, abstract 3D elements, vector-to-3D, scene building, effects/filters/post-processing, animate-and-export up to 4K, no install. Sibling product Morflax THINGS (3D device-mockup generator). Pricing: Starter free · Pro $9/mo ($108/yr) · ProMax $19/mo ($228/yr) — prosumer monthly. Not an AI-generation tool — it's a templated 3D design/motion editor. Lands squarely in TripleD's lane (visual identity, microsites, hero/abstract assets, client decks), not a Sebastian-substrate or sellable-product surface.
| Item | Source | P | Q | S | Total | Move |
|---|---|---|---|---|---|---|
| Morflax Studio — browser-based 3D mockup + motion-graphics editor (devices, clothing, branding, abstract 3D, vector-to-3D, scene build, 4K export). Prosumer SaaS, free / $9 / $19 per month. | Anthony's forward 2026-06-01 | 2 | 2 | 1 | 5/9 | Conditional. Dylan's lane — pilot for one recurring need (microsite hero abstract-3D + client-deck device mockups), gated by Belinda before any external surface. Cheap enough ($9/mo) that Rick won't fight the Pro tier if a live deliverable needs it. Not a standalone Articulate product (S=1, same shape as Hallmark + animations.dev). Watch the template-sameness trap — a mockup tool's default look IS the AI-slop tell in 3D form. |
Why P=2 (not 3)
Articulate ships microsites, lab pages, and client decks as core deliverables (MICROSITE-FORMAT.md, articulate-ai.work, Slipstream, GIGI, Famflix). Device mockups and abstract 3D hero elements are a recurring gap the current image stack covers poorly — Higgsfield Soul Cinema is tuned for character-scene work, and Nano Banana Pro can't reliably resolve a 3D device from a flat instruction (failures.md 2026-05-25, the overhead-laptop render). A browser editor that does parametric device mockups + animated abstract 3D in-browser is real iteration-time recovery on those specific surfaces. P caps at 2 because it's a niche, per-project need (not a daily lever), it's gated on Dylan actually adopting it into the build flow, and it overlaps tooling we already pay for. Promotes to 3 if it becomes the default mockup path and one microsite/deck ships measurably faster.
Why Q=2
3D mockups and abstract hero elements done well are exactly the "good → great" / anti-AI-slop axis Dylan/Belinda already gate on — same surface as animations.dev (seventh pass, Q=3, motion) and Frontend Design (Anthropic) (first pass, Q=3, layout). But Morflax is a templated asset editor, not a craft-enforcement skill: its quality lift is real on a specific deliverable, yet it carries the inverse risk — a template-driven tool produces template-driven sameness, which is the 3D version of the AI-slop tell. Q holds at 2 (not 3) until output proves it lifts a real surface without dragging in the stock-mockup look. Render-then-compare discipline (failures.md 2026-05-24 Ogilvy-wordmark) applies to every asset before it ships.
Why S=1
Clients don't buy "a 3D mockup tool" — it's a craft input to Dylan's design lane, not Articulate product surface. Exact shape of Hallmark (second pass, S=1) and animations.dev (seventh pass, S=1). Prosumer $9–19/mo pricing is also the wrong billing surface to resell against AED 25–80k engagements (same note as the agnt.one fifth-pass skip — though Morflax doesn't trip the full RAG-widget skip filter; it's a design tool, not a US-SaaS-on-OpenAI chatbot). S promotes to 2 only if "3D mockup / motion asset pass" is scoped as a named quality tier inside the microsite/design offer, and to 3 only on a client signing that as a discrete line item.
Class-match against failures.md and prior passes
- Hallmark (second pass, 6/9, S=1) + animations.dev (seventh pass, 6/9, S=1) — closest matches. Design-craft tools in TripleD's lane, install-for-self not sell, Belinda gates external surfaces. Morflax scores one lower (5 vs 6) because its Q is 2 not 3 — it's a templated asset editor, not an authored anti-slop craft skill.
- 2026-05-18 Takis four-brand-cycle (brand-spec drift) — any Morflax asset must route through
Design/PromptLibrary/<brand>/anchors.md+ Belinda before a client surface. A mockup tool's defaults will drift off-brand unless anchored. - 2026-05-24 Ogilvy-wordmark render-then-compare — render the mockup, look at it, compare to the brand canon before shipping. Two seconds of looking.
- 2026-05-25 overhead-laptop render fail — the positive case for Morflax: parametric 3D mockups are exactly the job Nano Banana Pro failed. This tool exists to solve that class.
Re-score triggers
- (a) Adopted into Dylan's build flow and one microsite/deck ships measurably faster with Morflax mockups vs the AI-image + manual route → P promotes to 3, total 6/9 (act-on for own use, hidden-bonus rule).
- (b) "3D mockup / motion asset pass" scoped as a named line item inside an MEP / microsite engagement → S promotes to 2, total 6/9; to 3 on first paid sign.
- (c) Template-sameness shows up on a shipped surface (Belinda flags the stock-mockup look) → tool stays a sketch/ideation aid, not a finished-asset path; Q stays 2.
- (d) A free/OSS or sovereign 3D-mockup alternative ships (Blender-pipeline automation, Spline self-host, etc.) → re-evaluate build-vs-buy for the $9–19/mo spend.
Build path (unblockable today)
Not built this pass. Lightweight next move: Dylan opens the free Starter tier, runs one real surface through it (an abstract-3D hero for a microsite or a device mockup for a client deck), renders-then-compares against the brand anchor library, and Belinda gives a delta-against-canon read. If it clears and beats the current path on time/quality, take the $9 Pro tier for the 4K export on that one deliverable — no annual commitment until it's earned its place. Rick gates anything past "free-tier pilot on one surface."
Eleventh pass — 2026-06-01 (Web-crawler / scraper category — the "20 crawlers, most builders only know the first 3" list)
Not one tool — a 20-item list of scraping/crawling frameworks, forwarded by Anthony 2026-06-01 ("AI-native · anti-detection · production-scale · specialist"). The honest finding: our web-data layer is already settled. Item #1 on the list (Firecrawl) is our ★-adopted primary; #12 (Playwright) and #3 (Browser Use) are already in the stack. Of the remaining 17, fifteen are skip-on-sight — they duplicate Firecrawl + Exa or are infra-scale frameworks we will never run. Four matter, for exactly one reason: the data-sovereign + anti-bot-survival edge cases web-research-stack.md already named as Phase-2 triggers. So this is scored as a category, with a per-tool triage table and a new skip filter.
| Item | Source | P | Q | S | Total | Move |
|---|---|---|---|---|---|---|
| Web-crawler / scraper category (20-tool list) — Firecrawl, Crawl4AI, Browser Use, Stagehand, Skyvern, ScrapeGraph AI, AgentQL, Hyperbrowser, Crawlee, Scrapling, Steel, Playwright, Scrapy, Puppeteer, Selenium, Colly, Katana, Browserless, Maxun, Heritrix. | Anthony's forward 2026-06-01 | 1 | 1 | 2 | 4/9 | Conditional, split by use-case. Own research → keep the settled cloud stack (Firecrawl + Exa + CF Browser Rendering, benchmark-validated). Client-facing sovereign deliverable → self-host the trio (Steel · Crawl4AI, + Scrapling for anti-bot) BY DEFAULT — sovereignty is the product, not an upsell. The standing-infra build is still buyer-gated (Rick). Scrapling also installs the moment Firecrawl's stealth proxy fails a real target. |
Per-tool triage — all 20 against the stack
Already in the stack (no action):
| # | Tool | Status |
|---|---|---|
| 1 | Firecrawl | ★ Primary. MCP wired, allowlisted, this session's web-research tool. The list leads with the tool we already run. |
| 12 | Playwright | In stack — the DOM-reliable default (web-research-stack.md + sandbox Playwright path). |
| 3 | Browser Use | In stack via the Nous Portal Tool Gateway (toolbox.md §2). |
Skip — duplicates Firecrawl / Exa (NL + LLM-extraction scrapers): #4 Stagehand · #6 ScrapeGraph AI · #7 AgentQL · #19 Maxun · #9 Crawlee. Natural-language-to-data is exactly what Firecrawl scrape/crawl/extract + Exa already do, MCP-native, no glue code.
Skip — infra / scale / specialist (no Articulate use): #13 Scrapy · #14 Puppeteer (Playwright covers it) · #15 Selenium (legacy) · #16 Colly (Go throughput) · #17 Katana (security recon) · #20 Heritrix (Internet-Archive scale) · #8 Hyperbrowser + #18 Browserless (managed stealth browsers — our Cloudflare Browser Rendering is the in-stack equivalent; Browserless self-hostable, noted below).
Worth a look — clears the new filter (the only four that matter):
| # | Tool | Why it clears | Verified |
|---|---|---|---|
| 11 | Steel (steel-dev/steel-browser) |
Open-source, self-hostable agent-browser API (docker) with auth persistence + anti-detection. The data-sovereign agent-browser layer — "your scraping runs on your VPS, client-owned at week 8." | ✓ steel.dev — Scrapfly's 2026 list ranks it #2 best open-source cloud browser. |
| 10 | Scrapling (D4Vinci/Scrapling) |
Adaptive selectors + proxy rotation + anti-bot, free/self-hostable, 2026-active. The documented Phase-2 anti-bot fallback for when Firecrawl's stealth proxy can't punch through a target. | ✓ v0.4, "scrape the changing website in 2026", confirmed current. |
| 2 | Crawl4AI | Open-source, LLM-pipeline-native, self-hostable Firecrawl-equivalent. The substitute for a client who refuses even Firecrawl's cloud. | (as-presented; verify before any install) |
| 5 | Skyvern | Vision-based form automation, 85.85% WebVoyager (as-claimed), no selectors. Pairs with the Google-Agent / AI-agent-readiness audit (second pass) for form-heavy targets. Conditional look, not adopt. | (claims as-presented; verify) |
The new generalisable filter — "crawler/scraper-framework skip filter"
Sibling to the RAG-widget-SaaS skip filter (fifth pass). Any general-purpose scraping/crawling framework defaults to skip without scoring, unless one of three overrides fires:
- Self-hostable AND advances the data-sovereign bundle (§3g) — e.g. Steel, Crawl4AI, self-hosted Browserless.
- Survives anti-bot that Firecrawl's stealth proxy can't — the
web-research-stack.mdPhase-2 fallback trigger. E.g. Scrapling. - A capability we genuinely lack — e.g. vision-based form automation (Skyvern) pairing with the AI-agent-readiness audit.
Everything else duplicates Firecrawl + Exa + Cloudflare Browser Rendering or is infra-scale we will never run. This kills the analysis cost on a category that ships a new "10 scrapers you're not using" listicle most weeks.
Self-host vs cloud — the split (corrected 2026-06-01 after Anthony: "why wouldn't we self-host?")
The first cut treated self-host as a conditional gated on a client refusing cloud. That was wrong-defaulted. There are two use-cases with two different answers, and conflating them is the error:
- Operator's own research (Anthony's competitor sweeps, Ogilvy brand audits, market scans). Targets are public pages; the data isn't anyone's confidential data, so PDPL/sovereignty doesn't bite. The trade is convenience vs control. Firecrawl cloud wins here — $0 free tier, MCP-native, zero-ops, top-tier coverage. Self-hosting a headless-Chromium scraper (Steel ≈ 300–500 MB/session — the exact RAM tax that sank OpenWA on the mini's 8 GB, and the Hostinger KVM2 8 GB is already shared with Hermes) buys control we don't need for public data. The honest "why wouldn't we self-host" answer for this case is substrate cost + ops, not principle.
- Client-facing data-sovereign deliverable (the
competitor-pulseMEP add-on sold into PDPL-strict UAE/KSA buyers). Here Anthony is right and the conditional was backwards: self-host is the DEFAULT, not a fallback the client has to ask for. The whole pitch is "your data on your infrastructure." Routing a regulated client's competitor-intelligence — which can reveal their strategic targets — through a US cloud SaaS contradicts the headline. Steel + Crawl4AI on the client's own box (client-owned at week 8) is the principled default. Sovereignty is the product, not an upsell.
Net correction: own research → Firecrawl cloud; client sovereign deliverable → self-host by default. This strengthens S, not weakens it — self-host-by-default for client work is more on-brand and more defensible than "cloud unless they object."
Why P=1 / Q=1 / S=2
- P=1. We already have the daily driver for our own research. No hours/week recovered by adding any of these — the rare anti-bot wall is the only gap, and it's rare. Marginal.
- Q=1. Our web-data layer doesn't lift — Firecrawl + Exa already sit top-tier on the two 2026 benchmarks cited in
web-research-stack.md(Firecrawl 77.2% coverage vs Tavily 67.8%). The edge cases are real but narrow. Marginal. - S=2. The genuine axis. Steel + Scrapling + Crawl4AI extend the data-sovereign-stack bundle (§3g) with a self-hostable scraping layer that is the default for client-facing competitor-intelligence — "your competitor-intelligence runs on your own infra, no third-party scraper sees your targets." Sells as a line item inside the
competitor-pulseMEP add-on already specced inweb-research-stack.mdPhase 2 (AED 6-8k). Real, measurable, but the build is still gated on a buyer (no pre-emptive standing infra — Rick rule). S would be 3 if a buyer were already signed.
Class-match against prior passes
- RAG-widget-SaaS skip filter (fifth pass) — direct sibling. Same move: a high-churn category where most entrants are noise, met with a default-skip filter + named overrides.
- Corey Haines / 10-prompt pack (second + sixth passes) — "build the superior Articulate version, don't install the viral artefact." Here the version is already built: it's the Phase-2 Cloudflare Worker in
web-research-stack.md. Steel/Scrapling are the self-hostable swap-in behind that worker for sovereign clients, not a new build. - agnt.one (fifth pass), OmniVoice (ninth) — the data-sovereign override is what carves these four out of the default skip. Self-hostable + PDPL-clean is the recurring unlock.
Re-score triggers
- (a) A PDPL-strict client scopes competitor-intelligence AND refuses cloud scrapers → adopt Steel + Crawl4AI as the self-hosted scraping layer in the §3g bundle; S promotes to 3, total 5/9, and the trio gets a
web-research-stack.mdPhase-2 install section. - (b) Firecrawl's stealth proxy demonstrably fails on a real target (logged, reproducible) → Scrapling installs as the documented fallback; re-score P to 2.
- (c) A form-heavy automation job lands (AI-agent-readiness audit at depth) → pilot Skyvern; score it separately.
- (d) Firecrawl repriced or degraded such that the daily driver is in question → re-open the whole category, not just these four.
Where it lives (the placement decision)
Filed to canon this pass: this radar entry + a category-sweep section appended to web-research-stack.md (the canonical doc for this exact category — Scrapling named as the Phase-2 anti-bot fallback, Steel + Crawl4AI as the self-hostable sovereign options) + a one-liner in SuperSebastian/radar.md. The open fork — whether the sharper take ("the category is settled; 16 of these are noise; the 4 that matter only matter for data-sovereign edge cases") becomes public Stack Watch content (Articulate/website/blog/ + Articulate/linkedin-content/) — is the S-axis call surfaced to Anthony, not assumed.