{ 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.
{ the build }
Your keys.
Your box.
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.
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.
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
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
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
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.
{ more work }