{ case study 03 }

Search Stack

Nine SEO modules (rank tracking, site audit, keyword research, Search Console insights, prompt explorer) in one platform you run yourself, on your own Cloudflare account and your own API keys.

role
architecture · build · ship
type
self-hosted platform
runtime
Cloudflare Workers
status
● live app
product tour all nine modules, running on a live project

{ the build }

Your keys.
Your box.

01

Problem

SEO tooling is rented, and it's rented per seat. You pay a monthly floor for nine features to use three, the data lives on someone else's servers, and the price goes up on their schedule rather than yours.

The underlying data isn't the moat. Most of these tools resolve to the same handful of data providers. What you're actually renting is the dashboard. For anyone already paying for API access, that's paying twice for the same numbers.

02

Approach

Ship the dashboard and let the operator bring the data. Nine modules in one platform, deployed to the user's own Cloudflare account, talking to the user's own DataForSEO key. No seats, no floor, no data leaving their account.

The decision that made it work: one codebase, two build targets. The hosted build carries the full auth layer; the self-host build drops it entirely, because on infrastructure you already control, a login screen guards nothing and is just one more thing to configure before you can see a number. The deployment opens straight into the dashboard.


{ how it runs }

Nine modules,
one deploy.

Built to be handed over, not hosted on someone's behalf.

01

The modules

Rank tracking, site audit, keyword research, Search Console insights and a prompt explorer among them: nine tools sharing one project model, so a site added once is available to all of them instead of being re-entered per tool.

Rank tracking Site audit Keyword research Prompt explorer

02

Two build targets

The same source ships hosted or self-hosted. The self-host build compiles the auth layer out rather than hiding it behind a flag, so there's no dormant login path sitting in a deployment that doesn't need one.

Single codebase Build-time split No dead auth path

03

Bring your own keys

Data comes from the operator's own DataForSEO account and their own Search Console connection. Nothing is proxied through me, which means no rate limit I control, no key I hold, and no bill that arrives from my side.

DataForSEO Search Console Operator-owned credentials

04

Edge deploy

Runs on Cloudflare Workers in the operator's account. Deploying is one push with no provisioning to do first, and the running cost is whatever Cloudflare charges them directly, which for most projects is nothing.

Cloudflare Workers Edge runtime Multi-project


{ what it produces }

Handed over,
not hosted.

9 SEO modules
2 build targets
1 codebase
0 seats to buy

{ more work }