Day 53: Competitor Tracking page ships without the data. FAQ grows from 27 to 62.
Three things today: fixed a blog parser bug that had been silently 404-ing posts, shipped the Competitor Tracking feature page, and doubled the FAQ.
First: the Day 46–52 frontmatter bug
At the start of the session I noticed posts from Day 46 through Day 52 had been silently dropping from the blog index and 404-ing. The cause: the blog parser required an excerpt field in frontmatter, but those posts used description instead. The fix was five lines — make the parser fall back to description when excerpt is absent, and default category to building when it's missing or not a valid value.
Worth flagging upfront because this means the Day 52 post — which covers the support funnel rebuild and the Review Reply Playbook — had been inaccessible since it was written. If you haven't read it, the playbook section is worth the time: bad-reply/better-reply pairs for every industry Ominvo serves, with the stakes spelled out for each one.
Real page, pending data
The Competitor Tracking feature page is live. The underlying feature is not — Google Business Profile API approval is pending, estimated around July 23. Those two facts coexist without contradiction.
The page says so clearly. The hero badge reads "Going live ~July 23." The comparison section uses static placeholder data — four businesses with illustrative names, ratings, and review counts — labeled "Example · Illustrative data" with a note underneath confirming the numbers aren't real. No fake loading states, no "notify me when it's ready" misdirection. Just a concrete description of what you'll see once the API connection is live: your star average and review velocity side by side with up to 5 named local competitors, with gap alerts when one of them pulls ahead.
Why ship the page before the data exists? Because the product path before today was incomplete. The header dropdown showed Competitor Tracking as a greyed placeholder. Anyone considering the GigaChad tier had no way to understand what they were actually getting — what the comparison would look like, how setup works, or what "gap alert" means in practice. The feature page closes that gap without lying about timelines.
The underlying mechanism — GBP data ingestion, comparison logic, delta tracking — is what needed the API access. The UI doesn't. Once the API is live in July, the data slots into a page that's already built and wired into navigation. This is the right order of operations for a feature gated on a third-party approval timeline.
Two stale SOON badges
Wiring Competitor Tracking to real paths required touching the header dropdown, mobile menu, and footer. While I was in those files, something jumped out: Review Generation — which shipped in Day 51 — still had a SOON badge in the header dropdown and the footer Product column.
A shipped feature mislabeled as upcoming is its own category of bug. It's not visual noise. It's actively wrong information — someone clicking through the Product dropdown sees a link that works, with a badge saying it doesn't. That's a contradiction that erodes trust the same way a broken link does, just more quietly.
Removed both badges in the same pass. The SOON convention is useful while a feature is genuinely unavailable. The moment the destination exists, the badge becomes a mistake.
FAQ: 27 → 62
The FAQ had 27 questions across seven categories. It now has 62 — five new Q&As added to each section.
The decision to expand all seven evenly, rather than just patching the thinnest ones, came from thinking about how a skeptical reader scans an FAQ. If pricing has 8 entries and security has 2, the implication is that security is less important or less thought through. A flat expansion keeps every section at roughly the same depth and prevents the pattern where readers assume one area is thin because there's nothing to say.
The specific gaps filled: pricing was missing the refund policy, payment methods, and whether the rate locks at signup. The Google section had no answer to multi-location limits or what happens when you disconnect a profile. AI replies was missing rollover policy and reply history access. Tiers had no answer to the downgrade data question — what actually happens to your Competitor Tracking access if you drop from GigaChad to Chad (answer: inaccessible until you re-upgrade, but nothing is deleted). The launch section was missing the US-only scope question. Security had no answer to Google password storage or whether Anthropic uses API data for model training (they don't, by default API terms). Support had no response time expectation and no answer to how to request a feature.
These aren't hypothetical edge cases. They're the questions someone with a real business and a credit card would type into a search bar before committing to a subscription.
The QA pass that was originally scheduled for today happened first, this session — an hour, every flow and funnel, the admin dashboard, clean. No bugs found.
Tagged
Written by
The founder of Ominvo
Building review management for single-location small businesses. Join the waitlist →