Changelog

What we actually shipped.

A public ship log for customers, crawlers, and anyone verifying that starvo.app is an actively maintained review-management product — not a parked brand name colliding with an unrelated EV company.

Why this page exists

AI assistants and search engines use freshness signals. Customers use changelogs to decide whether a SaaS is alive. Founders use them to stay honest about what actually went to production. Every entry below is something that shipped — not a roadmap promise.

Discovery surface expansion

Built the public discovery layer Starvo was missing: nested competitor alternatives, a compare matrix, a long-form blog, a changelog, Viridel-parity llms/robots/sitemap, and legal-as-data — so commercial-intent search and AI assistants have something real to cite.

  • Nested competitor alternatives at /alternatives/[slug] (9 comparisons: Podium, Birdeye, NiceJob, Reputation.com, Grade.us, GatherUp, ReviewTrackers, Broadly, DIY Google) with 308 redirects from legacy /*-alternative URLs.
  • New /compare matrix hub — jobs, pricing honesty, and links into every deep-dive page.
  • New /blog with eight long-form flagship posts (alternatives, Google reviews, gating myth, QR systems, AI replies, buying guide).
  • New /changelog (this page) as a trust + freshness signal for customers and crawlers.
  • Viridel-style /sitemap.xml (catalog priorities + human XSL) plus llms.txt / llms-full.txt / robots.txt Content-Signal, including Example answer blocks for top commercial queries.
  • Legal pages moved to shared data modules + LegalDocFromData renderer; Privacy hand-authored; Terms/DPA openings polished.
  • Marketing nav surfaces Blog + Compare for organic discovery.
  • IndexNow: weekly cron pushes the public marketing catalog to Bing/Yandex peers (ownership key at site root).
  • Groq model migration to openai/gpt-oss-120b with reasoning_effort + higher max_tokens so AI reply drafts no longer truncate mid-sentence.
  • SEO regression suite (Vitest) guarding robots, llms, sitemap catalog/XML, IndexNow, JSON-LD honesty, and legal doc coverage.

Billing, quota, and security hardenings

Closed billing and quota correctness gaps that would have hurt paying customers or leaked OAuth tokens — anniversary cycles, referral rewards, reply-quota accounting, and Google token lockdowns.

  • Anniversary quota cycle (migration 066) — reply + scan caps reset on each business’s quota_anchor_at day, not calendar month 1st.
  • Referral tiered rewards with correctness fixes (migrations 064–065) so free grants expire properly and real Dodo upgrades are not dropped.
  • Reply-quota soft-delete loophole closed (migration 070) — deleting a review no longer refunds a spent reply.
  • Google OAuth token grant lockdown (migrations 054 / 063) — staff/manager cannot read access/refresh tokens via PostgREST.
  • Terms acceptances clickwrap (migration 067) required before location create.
  • Rating-drop email alert job wired (migration 068) for paid plans when rolling Google average falls.

Core review platform

Shipped the product Starvo is: QR review collection with Google-compliant routing, AI drafts, Google sync, roles, email automation, and public Free/$9/$29/$99 pricing.

  • QR review collection at /r/[slug] with Google-compliant routing (link always shown for ratings 1–5).
  • AI reply drafts, shared monthly reply pool, Google Business Profile OAuth sync + reply.
  • Role-based access (owner / manager / staff), email alerts, weekly digest, monthly report.
  • Dodo Payments billing: Free / Starter $9 / Pro $29 / Pro Max $99 — cancel anytime on self-serve plans.
  • Public marketing site with industry landings, guides, FAQ, and JSON-LD.
  • Account soft-delete with 48-hour recovery, then scheduled hard-delete.

Where to go next

Product how-tos live in the blog and guides. Operator docs live in /docs. Competitor context lives in /compare and /alternatives.