SEO since 2013. I build the AI agent systems around search work, and I open-source the tools that keep them honest.
LinkedIn · Scale With Search · Project page · Raleigh-Durham, NC
| Years | Role | Results |
|---|---|---|
| 2025 to now | Founder, Scale With Search | Websites, lead systems, and AI tools for service businesses. I find, scope, price, and close each engagement. |
| 2020 to 2025 | COO and co-founder, FOUND (agency) | Full time in 2024: I personally secured 90% of new clients, and annual revenue grew 2,700% over 2023. AI-assisted processes raised clicks from high-value keywords by up to 1,400% in the first 12 months of an engagement, across 20+ industries. |
| 2022 to 2024 | SEO manager, Grey Matter (agency) | First organic search hire. SEO strategy for 147 clients over 18 months. Audited, prioritized, and fixed 250,000+ technical and on-page issues in the first six months. Wrote the department's audit SOPs and cross-trained every employee. |
| 2013 to 2022 | Ideamarket, America's Future Foundation, Cobra Carbide, Third Eye SEO | Search, content, and marketing roles. |
More than 180 websites and client accounts written for, built, or audited, across more than a dozen industries. Tech SEO Pro certified.
The tools below come from the setup I work in: Claude Code and Codex CLI on hosted models for a small search consultancy. Each repository fixes one problem that setup hit: agent sessions that start without the business context, agent work nobody can audit, video that needs cutting, and pages nobody checked before launch.
| Repository | What it does | Try it |
|---|---|---|
| agent-oversight | Checks agent work from outside the agent: scores responses against your writing rules, lists running Claude and Codex sessions with recorded tokens, binds code review receipts to file hashes, and holds REST writes in dry-run until a human enables execution. | python3 -m unittest discover -s tests -v |
| owned-record | Keeps domain context in Markdown and Claude Code and Codex transcripts in SQLite with full-text search, so a change of model or vendor leaves the record in place. Three opt-in hooks hand files and search results to Claude Code. | bash examples/demo.sh |
| seo-checks | Runs 20 SEO page checks from one command: seo-checks robots, seo-checks redirects, seo-checks schema-product, and 17 more, each with JSON output. |
seo-checks robots https://example.com |
| declip | Plans filler, silence, and retake cuts in local audio or video with Whisper transcription and ffmpeg. You accept or reject every cut on a local review page before it renders; the source file stays unchanged. Version 0.5.1 installs from the Git tag. | uv tool install "declip[mac] @ git+https://github.com/b2bvic/declip@v0.5.1" |
| Repository | What it does |
|---|---|
| ops-scripts | Five operator scripts: Telegram alerts, Linux host checks, a macOS Messages export, an X bookmark import, and an X posting queue. Each README states what it reads and what it writes. |
| vault-crawl | A Rust retrieval core that stores fetched pages with provenance, content-addressed blobs, and SQLite search. |
polytraffic, creatinepedia, ivibecodeditforyou, and AIPayPerCrawl hold the Markdown and build scripts for content sites on the same stack.
The 39 earlier single-tool repositories are archived, and each archived README names its new folder. observer-daemon is now agent-oversight/components/observer-daemon; sitemap-check is now seo-checks sitemap; session-ledger is now owned-record/components/session-ledger.
This README was written with model assistance from the current repository files. Each repository README is the authority for its tool's setup, data boundaries, and limits.


