Claude Code allows me to build applications very quickly – including ones I had always wanted to create but had kept on my to-do list for years given the time they would require. In this case, things went a step further: I first asked Google Gemini to create a SWOT analysis of Screaming Frog, and then to write a prompt that would allow me to build a better app using Claude Code. Not all features are implemented yet. But the result is a native macOS app for crawling, analyzing, and monitoring websites: the Website Analyzer. Download available on request 🙂
Here is what the app does:
Crawling
- Recursive crawling of a website starting from a start URL
- Configurable parallelism (1–20 workers), depth (1–50), rate limit and timeout
- Selectable user agent (Safari, Chrome, Googlebot, custom)
- robots.txt compliance (optional)
- Automatic HTTPS upgrading
- HEAD requests for resources (images, CSS, JS, fonts, media) instead of full download
- Detection of lazy-loading images (data-src, data-lazy-src, picture, srcset)
Link Checking
- All internal and external links are checked (HTTP status code)
- Status classification: OK, Redirect, Dead, Timeout, Error
- Real redirects vs. trivial ones (http to https, www, trailing slash) are distinguished
- Embedded resources (images, CSS, JS, fonts, iFrames) from CDNs are treated as internal
- Grouped display: same target URL from multiple source pages
Results
- Tabular overview of all crawled pages
- Columns: URL, Content-Type, HTTP status, size, response time, depth, indexable
- Search, sorting, filter by Content-Type
- Color-coded status codes and response times
Insights & Analytics
- Site Health Score (0–100) as a visual gauge
- HTTP status code distribution (bar chart)
- Link status distribution (OK / Dead / Redirect / Timeout / Error)
- Page structure by depth
- Content-Type distribution
- Page Speed: average, median, P90, fastest/slowest pages (top 8)
- Dead link hotspots: pages with the most dead links
- Link graph: interactive force-directed visualization of page connections (pan, zoom, hover tooltips)
Export
- CSV export for pages and links (with file dialog)
Technology
- SwiftUI + macOS native
- GRDB.swift (SQLite) for persistent storage
- Fuzi (libxml2) for HTML parsing
- Swift Concurrency (async/await, Actors) for thread-safe crawling
- SwiftUI Canvas (Metal-backed) for link graph rendering