Browzer Documentation Audit
Browzer's documentation surface (/docs, /cli, /help, /changelog) is coherent and readably written for a browser-workflow-recording product — but the live homepage and pricing page now market a different product entirely (an "AI-native DevRel studio" that generates docs from GitHub repos), and the product docs have not been updated to match either the pivot or the last three months of shipped features.
1. The homepage and the product docs describe two different products (critical)
Location: https://trybrowzer.com/ vs /docs, /help, /cli
Problem: The live homepage (title: "AI-Native DevRel Studio for Self-Healing Docs | Browzer") pitches "Connect your GitHub repo. Browzer drafts your docs, guides, changelogs, and blog posts — and heals them on every merge," with a "Connect a repo" CTA and nav items "How it works / Content types / Pricing / FAQ / Blog." Its own footer links "Product Docs" to /docs — which documents a completely different product: "Browzer is a browser automation tool that records your browser workflows and transforms them into step-by-step documentation and one-click automations," built from a Chrome extension, a terminal-capture CLI, and a web dashboard. /help, /cli, /guides/browser-workflow-automation, and /changelog all document the recording product; nothing on the site documents the repo-connected DevRel product the homepage sells.
Consequence: A developer who lands on the homepage and clicks through to the documentation finds setup instructions for a Chrome extension screen recorder instead of anything about connecting a GitHub repo. There is zero documentation for the product currently being sold: no setup, no supported repo structures, no publishing flow, no PR-review model. AI agents indexing the site will confidently report contradictory answers to "what is Browzer?" depending on which page they read.
The fix: Ship documentation for the DevRel-studio product before (or alongside) the homepage pivot — or gate the new positioning until docs exist. At minimum, add a banner on /docs clarifying which product it covers and where docs for the new offering live.
2. Three-plus months of shipped features have no documentation at all (critical)
Location: /changelog (v0.0.11 – v0.0.17) vs /docs
Problem: The changelog announces, between v0.0.11 (April 15, 2026) and v0.0.17 (June 27, 2026): "MCP server integration — execute automations from AI agent workflows," "API key management page for programmatic and MCP access," QA test suites, "CI/CD integration — trigger QA suite runs from your pipeline," "CI token management," UI drift detection, replay automation with variable inputs, and a public help-center portal with custom domains. The /docs page contains none of it — a grep of its HTML for "MCP", "API key", "QA suite", "CI/CD", and "drift" returns nothing. /docs ends at Knowledge Graph, Security, Billing, and Troubleshooting.
Consequence: The most developer-facing features Browzer has shipped — programmatic access via API keys, the MCP server, and CI/CD-triggered QA runs — are undiscoverable and unusable from the docs. A developer wanting to wire suite runs into GitHub Actions has no endpoint, token format, snippet, or setup reference anywhere; the only trace is a marketing bullet in the changelog.
The fix: Add reference sections for MCP setup, API key creation/scopes, and CI/CD integration (including the "copyable workflow snippets" the changelog says exist in-app). Treat every changelog "New" item as requiring a docs anchor.
3. Pricing terminology and numbers contradict between /docs and /pricing (significant)
Location: /docs (section 11, "Plans & Billing") vs /pricing
Problem: /docs states concrete prices — "Pro ($20/mo)", "Business ($350/mo)" — and a feature row labeled "Automation credits." The live /pricing page shows no plan prices in its served HTML (cards are client-rendered), says "Start generating docs today," and its FAQ asks "What are generation credits? Each generation run consumes credits." An earlier crawl of the same pricing page read "Start automating today" and "What are automation credits?" — the copy was re-skinned for the new product while /docs still carries the old prices and the old credit name. The same drift shows up at parameter level: /docs describes schedules as "daily, weekly, or at custom intervals" ("Choose frequency (daily, weekly, custom cron)") while changelog v0.0.11 shipped them as "hourly, daily, or custom cron."
Consequence: A developer cannot determine what a credit is (an automation run or a generation run), whether the $20/$350 prices in /docs are current, whether hourly schedules exist, or what plan they are actually buying. Agents parsing the two pages will emit contradictory pricing answers.
The fix: Make /pricing the single source of truth, render prices server-side, pick one credit term, reconcile the schedule-frequency options, and update or delete the /docs billing table.
4. The bug bounty scope lists a desktop app that no documentation acknowledges (significant)
Location: /security ("Program Scope") vs /cli and /docs
Problem: The security page's in-scope assets include "Browzer Desktop App — macOS and Windows builds" and "Browzer API — Backend services and endpoints." No page on the site documents a desktop app, and /cli explicitly says "Windows support is not available yet... Requires a separate PowerShell installer and capture backend." The "Browzer API" is likewise undocumented anywhere (see issue 2).
Consequence: Security researchers are invited to test artifacts they cannot find or install, and developers reading /security get a product inventory that contradicts the platform matrix on /cli — including a Windows build the CLI page says doesn't exist.
The fix: Reconcile the scope list with reality: either document the desktop app and API surface, or remove/annotate them on /security.
5. /faq and /blog return 200 but serve an empty app shell (significant)
Location: /faq (linked from the Help Center as "Frequently Asked Questions→"), /blog
Problem: /faq returns HTTP 200 but the served HTML contains only "Loading..." twice and a logo — no FAQ content — under the title "Browzer — AI-native DevRel studio." /blog serves the same shell title.
Consequence: Anyone with JS disabled, any crawler, and any AI agent fetching the FAQ gets a blank page that claims success. The Help Center's troubleshooting path dead-ends silently — worse than a 404, because nothing signals the failure.
The fix: Server-render /faq and /blog (the rest of the site is SSR'd — /docs and /pricing render fine statically), or return a proper error until they do.
6. The linked Chrome Web Store listing hasn't been updated since March despite extension-affecting releases (significant)
Location: /docs ("Installing the Chrome Extension") → Chrome Web Store listing
Problem: /docs says "Click Download Extension to get the latest version, or install directly from the Chrome Web Store," presenting the two channels as equivalent. The Web Store listing shows "Updated March 14, 2026" — yet the changelog records extension-affecting changes shipped after that date (recording click callouts in v0.0.16, server-first recording sync and extension lifecycle tracking in v0.0.13–v0.0.15). The listing's version reads 0.0.1; whether the extension shares the platform changelog's v0.0.17 numbering is unconfirmed, but the three-month-old update date is not. The listing also still describes only "a one-click automation builder."
Consequence: A developer following the docs' "or install directly from the Chrome Web Store" path may get a build months behind the dashboard download, without the recording fixes the changelog describes — and no warning that the two channels differ.
The fix: Keep the Web Store build current, or remove the "or install directly" equivalence from /docs and state which channel is canonical.
7. Per-portal llms.txt exists, but Browzer's own product docs have none (significant)
Location: site root and /docs, vs /help/{portal}/llms.txt
Problem: The generated help portals ship excellent agent surfaces — /help/supabase/llms.txt, /help/supabase/llms-full.txt, /help/supabase/llms.json, and per-article .md routes all return 200. But the site root /llms.txt and /llms-full.txt both 404, and /docs and /cli — the actual product documentation — have no markdown or machine-readable export at all. /docs is one long JS-framework page with anchor sections.
Consequence: Browzer gives AI agents a better parsing surface for Supabase's and Exa's workflows than for its own product. An agent asked "how do I install the Browzer CLI" must scrape a rendered Next.js page rather than fetch a text export the platform demonstrably knows how to produce.
The fix: Emit a root /llms.txt indexing /docs, /cli, and /changelog, and expose the same .md/llms-full.txt routes for the product docs that the help portals already get.
8. sitemap.xml omits the changelog, security, legal, FAQ, and blog pages (minor)
Location: /sitemap.xml
Problem: The sitemap lists ~160 URLs — marketing pages, /docs, /cli, /help, and 150+ third-party portal articles — but omits /changelog, /blog, /faq, /security, /privacy, and /terms entirely.
Consequence: Crawlers and agents relying on the sitemap will miss the changelog (the only documentation of three months of features — see issue 2) and the security policy, deprioritizing exactly the pages that change most.
The fix: Generate the sitemap from the route table at build time so every public route is included.
9. The footer GitHub org is empty, and an unrelated "browzer-cli" squats the obvious search result (minor)
Location: site footer → https://github.com/BrowzerLabs
Problem: Every page's footer links to the BrowzerLabs GitHub org, which has 0 public repositories. Meanwhile a different, archived project ("browzeremb/browzer-cli" — a codebase-RAG tool at browzeremb.com, MIT-licensed, unrelated to Browzer Labs) is what GitHub search returns for "browzer cli," complete with its own curl | sh installer at a different domain.
Consequence: A developer who searches GitHub instead of trusting a curl -fsSL https://trybrowzer.com/cli/install.sh | sh one-liner (a reasonable instinct — the install page promises checksum verification but the published first-stage script is just a nested curl | sh from services.trybrowzer.com) finds an empty official org and a plausible-looking impostor CLI with install instructions.
The fix: Publish at least the CLI install script, checksums, and release artifacts in the BrowzerLabs org, or remove the footer link; add a note on /cli disambiguating from the similarly named project.
What they do well
- The generated help portals are genuinely agent-friendly: per-article
.mdroutes plusllms.txt,llms-full.txt, andllms.jsonper portal, all returning clean markdown. - The /cli page is the strongest doc on the site: explicit platform matrix (with honest "Windows: not available"), what-the-installer-does disclosure, and a complete command reference with troubleshooting.
- The changelog is detailed and dated, with clear New/Improved/Fixed/Security tagging.
Top 3 recommendations
- Resolve the product-identity split: document the DevRel-studio product the homepage sells, or clearly scope /docs to the recording product until those docs exist.
- Document the developer surfaces the changelog already announced — MCP server, API keys, CI/CD tokens and snippets — as real reference pages.
- Give the product docs the same machine-readable treatment as the generated help portals: root llms.txt plus markdown exports for /docs and /cli.