Case studies / Internal platform — search, AI visibility and enquiries
Replacing a stack of SEO, reporting and CRM subscriptions with one self-hosted engine at $2.43 a month
Every figure in these case studies comes from one self-hosted system that replaces what is usually several subscriptions: rank and Search Console reporting, AI-citation tracking, a GA4 join, and an enquiry CRM. It runs on a small server for $2.43 a month. Keyword and backlink data is still bought per call — that part cannot be self-hosted.
Our in-house growth engine · Self-hosted
- $2.43
- monthly running cost
- 195
- database tables
- 1,824
- enquiries triaged through it
- 136
- tables isolated per client by the database
Source: Counted from the production system, October 2026.
What was the problem?
A business that takes search seriously ends up renting a rank tracker, a reporting dashboard, an AI-visibility tool and a CRM — each priced per seat or per site, none of them talking to each other.
Worse, none of them answers the question that matters: which search query produced a visitor who actually enquired.
What did we build?
Search Console joined to Analytics
It joins Search Console to GA4 on the landing page, turning “this query got clicks” into “this query produced a session that converted”. That join is what most reporting tools sell separately.
AI-visibility tracking with denominators
It asks ChatGPT and Gemini real buyer questions with web search on and records whether a business is named — and how many times it asked. A failed call is recorded as not measured, never as a zero.
Multi-client isolation enforced by the database
Each client's data is separated by row-level security on 136 tables, so isolation does not depend on application code getting every query right.
What changed?
- Runs scheduled jobs across several live websites and produced every search, citation and enquiry figure on this site.
- Infrastructure cost: $2.43 a month.
- It is also how we run client work, so a client's reporting comes from the same system that measures our own properties.
What is not working yet?
Self-hosting the workflow is not self-hosting the data. Keyword volumes and backlink indexes are still bought per call from a data provider, because nobody can crawl the web for $2.43. Anyone telling you otherwise is overselling.
Common questions
Can SaaS tools really be replaced with self-hosted software?
The workflows can — CRM, reporting, dashboards, automation. Rented data cannot: keyword and backlink indexes, contact databases and market feeds are still bought. This engine replaces the first and still pays for the second.
Is self-hosted software private?
Your data sits on infrastructure you control. But a system that calls a hosted AI model still sends those prompts to the model provider under its terms. Self-hosted is not automatically private, and we say which parts are which.
Could this work for your business?
It probably fits if:
- You pay for three or more marketing or reporting tools that do not share data
- You want to know which searches produce customers, not just clicks
- You would rather own your data and pay for hosting than for seats
What this used
More case studies
Student accommodation
From invisible to 577 search clicks a quarter — and recommended by ChatGPT in 73% of student questions
38.5× search clicks, 15 → 577 per 90 days
Student accommodation — paid search
The Google Ads dashboard said ₹243 a lead. The real figure was ₹1,100. Here is what we found and fixed.
~40% of recorded conversions were fraud
B2B agricultural export
856 indexed product pages for a B2B exporter — and named by ChatGPT and Gemini to international buyers
6.6× search clicks, 58 → 385 per 90 days