Changelog

What's new in ReviewForge

Every shipped release, explained in plain language. Entries are listed newest first, from the latest product improvements through the first review audit tool.

Release history

2026-09-03

Copy-draft action for AI response cards

  • Added a one-click Copy action to AI response cards so generated replies can move straight into a review workflow.
  • The action copies the current draft and confirms success with immediate Copied! feedback.
2026-08-24

Locations table shipped

  • Each business can now own multiple locations, keyed by google_place_id in routes/locations-routes.js.
  • Multi-location accounts finally match how chains and franchises actually operate — one business, many storefronts.
2026-08-24

Per-location breakdown card on the dashboard

  • Dashboard now shows review-count and average-rating per location, pulled live from GET /api/locations/stats.
  • Operators can see which storefront is dragging the average down without opening a spreadsheet.
2026-08-24

Dashboard location picker

  • A dropdown on the dashboard switches the per-location view instantly.
  • No page reload, no second spinner — just the location you want, in view.
2026-08-24

Locations settings UI

  • Add, rename, or delete a location from the Locations settings page.
  • Wired through POST /api/locations, PUT /api/locations/:id, and DELETE /api/locations/:id inside the existing auth surface.
2026-08-24

/compare vs Birdeye and Podium

  • Shipped side-by-side comparison pages at /compare/birdeye and /compare/podium, plus a hub on /compare.
  • Prospects evaluating us against the incumbents now have one place to see pricing, features, and tradeoffs.
2026-08-24

FAQ structured data

  • /faq now emits FAQPage JSON-LD so Google can surface the FAQ rich result on the SERP.
  • One more trust-surface signal: visitors see the questions answered without clicking through.
2026-08-08

Connected custom domain myreviewforge.com

  • Every email, dashboard link, and OG tag now points at the canonical domain so post-PH traffic doesn't bounce off an old polsia.app URL.
  • SSL pending DNS propagation, but all app URLs already resolve through the new domain.
2026-08-08

Always-visible Product Hunt launch banner + PH signup tagging

  • The PH badge stays up after launch day so the momentum surface keeps paying off.
  • Every signup that lands via the banner is tagged with PH as the source in signup_source, making paid conversions attributable to the launch.
2026-08-08

Trust-surface pages shipped

  • /security, /sources, /about, and /pricing now share one dark design language.
  • Prospects can evaluate us without bouncing to a different skin — fewer visual seams in the trust surface.
2026-08-08

Stripe funnel_source persistence

  • Stripe payments now carry the original signup source end-to-end, not just inside analytics_events.
  • Post-payment attribution in Stripe matches what we see in our own analytics so a paid conversion can be traced back to the campaign that drove the signup.
2026-06-15

Server refactor — 4293 lines → ~200

  • The entry file slimmed from a single 4293-line beast to a ~200-line wiring layer.
  • HTTP routing now lives in routes/, DB queries in db/, and email templates in services/email.js — finally small enough to review in a sitting.
2026-06-15

Profile-connected onboarding email

  • The moment a business's google_review_link is set for the first time, we send an automated-review monitoring explainer.
  • Customers learn what we just turned on before they go looking for it themselves.
2026-06-12

ORM pillar blog post

  • Published /blog/orm-guide-2026 to capture search interest on the online reputation management topic cluster.
  • Long-form pillar content that links out to the product surface — designed to compound over months, not days.
2026-05-22

Free Review Audit live

  • /audit discovery gap closed and /api/audit/run + an email-capture endpoint shipped.
  • Prospects can try the product against a real Google reviews URL without signing up — the lowest-friction entry into the funnel we have.