Rankings, search visibility and traffic from the sites I work on, grouped by niche. Law firms, audiology and health clinics, and a handful of other local businesses.
Client names and domains are withheld and screenshots are blurred. Figures come from Google Search Console, Local Falcon and Google Analytics.
Sites I work on are named as sources in AI-generated answers on Google. Below: how many answers cite them, the queries behind it, and each site’s overall Google Search traffic.

AI answers change daily. Citation counts come from DataForSEO’s AI-mentions data for Google AI Overviews, a sample of answers rather than every one, and the 1,742 is the sum of the per-site counts. Monthly searches are Google searches for that phrase in that market, not clicks. Clicks and impressions come from Google Search Console and are each site’s overall Google Search traffic, not traffic from AI answers.
SEO for 55+ law firm websites across personal injury, corporate, family, real estate, immigration and general practice, plus 7 law firm WordPress sites built from scratch.
8 selected law firm sites. Google Search Console, Jul 3, 2025 to Nov 2, 2026; clicks and impressions include brand searches. Average position is across all queries (lower is better), Aug–Oct 2025 vs Aug–Oct 2026. Better on all 8; impressions up on 6 of 8.
Keywords ranking (non-brand, average position 3.4 or better): pro bono lawyers orange county, pro bono family lawyers orange county, darkest legal tint in california, california source income, suits in admiralty act.

Local SEO for audiology and health clinics, tracked with Local Falcon grid scans (Feb 2026). A 1.0 average rank means #1 across the whole scan area.
Keywords ranking: audiologist, hearing test, hearing aids, ear wax removal. The clinics shown hold a 1.0 average rank and 100% local visibility on keywords like these.
The full Local Falcon report lists 74 businesses and 400 keywords: 64 and 373 here, 10 and 27 under Other niches.

A live-music venue, an accounting firm, forensic engineering, waste removal and an ecommerce store.
Keywords ranking: jazz club perth, live jazz club, jazz bar perth, accountant north sydney, small business accountant sydney, smsf accountant sydney, forensic engineering, dumpster rental.





Builds and migrations that sit under the numbers above. Client names are withheld, and team projects are marked.
A WordPress to Nuxt rebuild on Firebase for three city sites. My part: the 186-post blog migration, crawlable pagination, trailing-slash and real-404 fixes, and the practice-area URL rename. One city site went live on 27 October.
Nuxt, Firebase, Node scripts
Scripts scaffold a Spanish page from each English one, compare the two and relink internal links. A route table drives the hreflang output. The first Miami waves (100 pages) merged on 29 October on staging, and the Las Vegas pages are live. Drafts are AI-generated and checked with LanguageTool.
Nuxt, Node, LanguageTool
185 redirect rules reviewed for one site: 169 mapped, 15 already present and 1 dropped on purpose. The map merged on 14 October and the site launched on 27 October.
Python, Google Sheets, Ahrefs, GSC
Crawls a site from its sitemaps, builds a 443-page inventory and 783 candidate page pairs, and outputs a Summary, Consolidate and Move-to-Blog sheet. A local tool.
Node, Python, Google Sheets
150 country records in 6 languages and 508 city records uploaded to a staging admin, plus daily checks, an FAQ schema fix and a growth dashboard on Vercel. The client's developer built the app and page templates.
Python, Claude Haiku, Supabase, Vercel