SEO OS
A multi-client SEO and AI-search platform I designed, built, and run end to end - from the data pipelines to the UI.
It pulls search data from a bunch of different places and turns it into one place to see what's happening, what needs attention, and what work comes next.
One platform for the whole search picture
SERP Tracking
Track a keyword across organic results, the local pack, AI Overviews, and LLMs. The different signals roll up into one score.
AI Visibility
Track share of voice and citations across ChatGPT, Gemini, Claude, and Perplexity. The goal is to see whether a brand actually shows up in the answers, not just whether it has a link somewhere.
Search Console, by intent
Real search queries are automatically grouped into AI prompts, informational, commercial, and brand intent. It makes it easier to see what people are actually looking for.
Content Performance
See which landing pages are driving traffic, clicks, and conversions - along with how those numbers are changing over time.
Local SEO
Track Google Business Profile performance, reviews, and map-pack rankings across every location.
Performance Tracker
A year-over-year view of SEO performance across visibility, traffic, local, and engagement. Basically: is the work actually moving things forward?
SEO Director
An interactive view of the entire client portfolio. Filter by category or status to quickly see what's moving, what's stuck, and what needs attention.
Client Portal
A private, no-login page where clients can see their results and message the team.
Screens from the platform





I wanted the software to fit the way we actually do SEO
SEO lives across a ridiculous number of tools. Search Console. GA4. Google Business Profile. Rank tracking. Keyword research. AI search. Reporting. Project management. Client communication.
Most of those tools are good at one thing. The problem is what happens between them.
I wanted to bring the data together, but that was only the starting point. The bigger opportunity was to build the software around the way we actually run SEO.
Consolidate the data
Instead of jumping between platforms to understand what is happening, SEO OS brings the important data into one place. Visibility, traffic, rankings, local, AI search, content performance, and client-level reporting all live in the same system.
That means less exporting, less reconciling, and less trying to remember which dashboard has the number you need.
Turn our workflows into a product
A lot of what an SEO agency does is repeatable. The difference is in how well you organize it.
SEO OS lets me turn our processes into actual product workflows: campaign stages, deliverables, review queues, reporting, client communication, and recurring work. Instead of having our process live in someone's head, in a project management tool, or in a collection of documents, it is built into the platform.
That makes the operation more consistent and makes it much easier to improve.
Productize the agency without making it rigid
I want our services to feel like a product. That means having a clear methodology, consistent deliverables, defined workflows, and a predictable client experience.
But I do not want that consistency to come at the expense of flexibility. Every client is different. Sometimes the standard workflow is exactly right. Sometimes it needs to change. Because I own the software, I can make that change.
Run the whole campaign from one place
SEO OS is intended to cover the actual operating layer of an SEO campaign, not just the reporting. That includes:
- Visibility: organic, local, AI Overviews, and AI search
- Performance: traffic, conversions, content, and year-over-year movement
- Work: roadmaps, deliverables, tasks, ownership, and reviews
- Client communication: sharing results and keeping communication close to the work
- Reporting: turning all of the underlying data into something a client can actually understand
- Management: seeing what is happening across the entire book of business
The goal is to remove the gaps between those things. A campaign should not feel like a collection of disconnected tools. The data should lead to the work, the work should lead to results, and the results should feed back into the next round of decisions.
Build what we need, when we need it
This is where AI-assisted development changes the equation for me. I do not have to wait for an enterprise software company to decide that a feature is worth building. I can describe what I want to Claude Code, iterate on it, and have a working version incredibly quickly.
That gives me something I would not normally get as a small agency: our own software, built around our own workflows, that can change as quickly as our needs do. That means more flexibility, more customization, and much less compromise - and it means we are not paying an enterprise software company every time we want something useful added to the platform.
The bigger idea
SEO OS is not really about replacing six dashboards with one dashboard. It is about turning the way we think about and deliver SEO into software. The data, the methodology, the workflows, the client experience, and the reporting all become part of the same system.
That is what makes the platform useful to me. I am not just building an SEO tool - I am building the operating layer for the way I want an SEO practice to run.
Deliberately simple
I didn't want this to become a project about maintaining a stack.
There's no framework churn, build pipeline, or container orchestration. It's a Node backend and a hand-written single-page app running as one process behind an auto-HTTPS reverse proxy.
It's simple to understand, simple to deploy, and - most importantly - simple to change.
- Node.js + ExpressThe backend is kept intentionally small, with routes in one place.
- SQLite via sql.jsThe database lives in memory and persists to a single file. No database server to maintain.
- Vanilla JS SPAA hand-written front end with no build step, bundler, or dependency pile.
- Caddy + systemdAutomatic HTTPS and process supervision on a plain Linux VPS.
- Google APIsSearch Console, GA4, and Business Profile data pulled live for each client.
- DataForSEO + LLMsSERP and keyword data from DataForSEO, plus LLM calls for classification, analysis, and reporting.
Walk through the live demo
A fully interactive build using synthetic data for six fictional clients, with a guided tour built in. No login. Nothing real. Just open it up and explore.
Open the demo