WebRobot
Build on the tier

Build a vertical on top of WebRobot

A vertical — sentiment analysis, lead generation, price intelligence, a trading desk — solves one problem end to end. You don’t rebuild the engine each time: the platform is the tier, and a vertical is a thin application plus a plugin that reuses the same distributed stack.

The tier does the hard part

Describe what you need — the tier does it

Your vertical calls WebRobot for the capabilities that are expensive to build and operate. It holds none of them.

Web acquisition

A real-browser fleet with anti-bot resilience, proxies and consent handling.

Distributed processing

Apache Spark on Kubernetes, with a live catalogue of pipeline stages.

AI agents

Multi-agent teams on Ray that design, validate and run work, with human approval on critical steps.

Governance & BYOC

Hosted or your own LLMs; orgs, roles, API keys and audit; run it all on the customer’s cloud.

Acquisition catalogue

A curated source catalog behind every vertical

610 sources across 34 markets — news, forums, reviews, e-commerce, social, bookmakers and more — each already classified by how to fetch it (simple HTTP vs a real browser), its anti-bot posture and whether it is reachable now. Every vertical — sentiment, price intelligence, lead generation, a trading desk — draws on it, so an agent picks the right source and method without rediscovering them. Sources behind strong anti-bot are scoped case by case, and platforms are accessed within their terms of use.

The plugin architecture

One bundle, four component types

A vertical extends the platform through a single <plugin>-<version>.zip. Each component is loaded by the layer it belongs to, validated as a whole, enabled per organisation, and — with hot-reload — published without restarting the process.

ETL stages

Scala/Spark stages that run inside the distributed engine and appear in the live catalogue the moment they’re installed — a new verb for every pipeline.

REST API

Jersey endpoints serving chart-ready queries and agent-callable tools, scoped to the caller’s organisation.

CLI

Subcommands added to the WebRobot CLI, discovered by the host — the same capability from the terminal.

Dashboard UI

Next.js views hot-loaded into the console as ESM — a vertical’s own screens, inside the platform.

Why it makes the stack flexible

The application layer bends the stack — without forking it

The distributed runtime (Spark, Ray, Kubernetes) is fixed and operated once. The plugin layer is how a vertical shapes it to a domain.

New capability, same infra

A stage runs on the existing Spark cluster; an agent profile on the existing Ray cluster. You add a verb, not a cluster.

Discoverable by agents

Because the catalogue is live, the agentic pipeline-designer sees your new stages immediately and composes them — no prompt surgery, no redeploy.

Per-tenant, not per-fork

Enablement is scoped to an organisation; a vertical rolls out to the tenants that need it, each with its own credentials, data and billing.

Runs where the data is

The same bundle installs on the shared platform or a BYOC cluster on the customer’s own cloud — the app moves, the tier follows.

Best practices

How to build one well

Keep the app thin

No scraping and no ML in your app — those belong to the tier. The app describes the goal and shows the result.

Let an agent design the pipeline

Launch a background agent on Ray that generates and validates the pipeline against the live catalogue — not a single LLM call.

Validate before you run

Dry-run the manifest (shape) and the pipeline (sample rows). A pipeline that validates but collects nothing is not done.

Compose from the catalogue

Pick stage names from what the catalogue returns, never from memory — tenant plugins add to it.

Scope every key

Call the API with an organisation-scoped key from your server, never a platform-admin key, and never from the browser.

Ship a bundle

Package the components with a manifest and install once. Version it; enable it per org; let hot-reload publish it without a restart.

A worked example

Sentiment analysis

The user describes what they want to understand in plain words. A background agent designs a sentiment pipeline — acquire → extract → analyse → persist — from the live catalogue, validates it, and runs it on the platform. Rich sentiment (polarity, a Plutchik emotion vector, named entities and aspect-based scoring) is produced by an ETL stage shipped as a plugin, and the results come back through the vertical’s own REST endpoints and dashboard views. The engine is WebRobot; the vertical is the brief and the insight.

Worked example

GoCyprus

AI travel guide and lead generator for Cyprus

Pipelines keep events, places and local products fresh; an AI guide plans trips in conversation and books directly with local businesses (hotels, gyms, tours) through an MCP catalog of their offers. Each booking is a qualified lead for the business.

acquire events → enrich → MCP catalog → guide agent → booking

Open the preview (under construction) →
Worked example

GeneaAI

AI genealogy assistant for Italian families

Records published by comuni, parishes and archives are indexed for search; the assistant builds the family tree as you tell it, and every finding comes with its source — you decide what enters the tree. The publishers earn a share whenever their documents are used.

archive records → index → search agent → sourced findings → family tree

Open the preview (under construction) →
Worked example

GainOnDelta

Real-estate arbitrage for Italy and the UK

Per-country pipelines collect for-sale listings and score each against comparables in the same area and official data (HM Land Registry in the UK). An AI analyst discards false bargains, checks the area on the web and writes a printable report with shortlist, benchmarks, risks and sources.

listings → comparables + official data → score → analyst agent → report

Open the preview →