Web, games & macOS

Users report it.
Your Claude fixes it.

SnagFrog gives every app and game a bug report page people will bother to use. Reports land in one calm inbox, with the logs and context Claude needs to fix the bug and write back.

One-line web widget · Native macOS helper · Two-way email · MCP for Claude

One line for web gamesNative Swift helper for MacGodot 4 addonLogs & crash logs attachedTwo-way email threadingMCP server for ClaudeError captureChangelog & SEO audits
Who uses SnagFrog

Every report from these apps lands here.

Mac apps, browser games and web tools that send their bug reports, ideas and questions through SnagFrog.

The loop

Report. Triage. Fix. Notify.

From “something’s broken” to “thanks, it’s fixed” without leaving your editor.

gridburg.app/play
Report a bug
Page URL · Browser · Viewport 3 console errors captured Or from your Mac app: logs + window snapshot
Built for Claude

“Fix these reports and tell the users.”

That’s the whole workflow. SnagFrog ships an MCP server and a Claude skill, so Claude can read each report with its logs and diagnostics, open the right repository, fix and test the code, and leave you a note with the commit. Then it writes to each reporter in plain words.

  • Knows where every app’s code lives
  • Never emails anyone unless you say “notify”
  • Internal notes with root cause and commit
  • Per-workspace tokens you can revoke anytime
Connect once
claude mcp add --transport http snag \
  https://snagfrog.com/api/mcp \
  --header "Authorization: Bearer snag_sk_…"
Then just ask
“What are people reporting this week?” “Fix the open Gridburg bugs and notify the users” “Answer everyone asking about CSV export” “Which Reddit threads should I answer this week?”
Around the loop

Everything else a bug inbox should do.

Logs you can actually read

Tail of every log inline, errors highlighted, filter as you type. Console errors from web games and the crash log after a crash included.

Real two-way email

You reply from SnagFrog and reporters answer from their inbox. Internal notes stay internal.

Keyboard-first inbox

j / k to move, x to select, e to close, / to search. Bulk actions for the busy days.

A page they can come back to

Every reporter gets a private link to follow their report and add details without signing up.

Saved replies

“Fixed in the next update” shouldn’t need typing twice. Insert canned answers in one click.

Looks like your app

Per-app color, intro and thank-you text. Light and dark, phone and desktop.

Private by default

Row-level security per workspace, private storage, rate limits, and reporters see exactly what’s sent.

MCP built in

35 tools for Claude: reports and replies, errors, releases, the roadmap, testimonials, keywords and AI answers, Launchpad, and where each app’s code lives.

Beyond the inbox

The rest of shipping, in the same place.

Reports are one signal. SnagFrog also watches for errors, tells people when their fix ships, lets them vote on what comes next, and turns their kind words into testimonials.

Errors, before anyone writes in

Turn on capture and the widget, the Swift helper and the Godot addon send errors and crashes on their own. Identical ones are grouped and counted, and you get one email an hour, not one per error.

  • Grouped, with a 14-day history and the versions affected
  • Flags an error that comes back after you resolved it
  • Shown in the inbox next to the reports

Releases and a public changelog

Publish a release with its notes and pick the reports it fixes. Everyone who reported them gets an email that it is fixed, and the release goes on your app’s changelog.

  • A changelog page per app, and the same list as JSON
  • One script tag shows it on your own site, in your site’s look
  • Claude can publish a release for you

A public roadmap people vote on

Turn on a roadmap for an app and visitors vote on what you build next, without an account: an email link confirms each vote. Ideas they send in wait for your OK.

  • Under consideration, Planned, In progress, Shipped
  • Ship an item with a release and its voters get an email
  • A hosted board, or one script tag on your own site

Testimonials from your own reports

When a report says something kind, turn it into a testimonial. The person is asked by email whether you may quote them, and nothing goes up until they say yes and you publish it.

  • Pick the words straight from a report
  • Editing a quote asks them again
  • A wall or a carousel on your site with one script tag

From an idea to a live site

Tell your local Claude about a new app or game. Launchpad creates it in SnagFrog, puts the screens, landing page and logo up for your approval, then builds it and deploys it to Netlify.

  • Approve a design or ask for changes in the dashboard
  • Deploys with your own Netlify account
  • The new app has its report page from day one

One overview per app

Open an app and see where it stands: the latest reports, errors that need a look, the last release and the last audit score.

  • Unread reports and open errors at a glance
  • Advanced inbox filters: version, OS, platform, dates
  • Light and dark dashboard
Growth

Get found. Get talked about.

The same workspace keeps an eye on how people find each app: in search, in AI answers and in the threads where they ask for recommendations. Claude can read all of it over MCP.

SEO audits for the app’s website

Crawl your site and get a score with a list of what to fix, ordered by what it gains you, for search engines and for AI answers.

  • Weekly or monthly re-checks that tell you what changed
  • Each issue says why it matters and how to fix it
  • A PDF report, white-label on Studio

Keywords and rankings

Research the searches worth winning in any market, save the ones you want, and see which page on your site should rank for each one, or that it needs a new page.

  • A weekly rank check, with an email when something moves
  • Google Search Console and Bing Webmaster Tools numbers beside your keywords
  • A domain authority score for your site

Does AI name your app?

Ask Gemini and Claude the questions your buyers ask, and see whether they mention your app, where it comes in the answer, and who they name instead.

  • Up to 10 questions per app
  • Every run kept, so you see answers change
  • The competitors that come up instead of you

One list of what to do next

The audit, keywords, rankings, Search Console and AI answers become one ranked to-do list per app: what to fix or write, why, and roughly what it is worth.

  • Next up across all your apps
  • Mark items done or dismiss them
  • Claude can read the list and work through it

Threads worth answering

The Reddit threads Google shows for your searches, and new mentions on Hacker News, Lobsters, Bluesky, Mastodon and Product Hunt. Claude rates how well each fits and drafts a reply.

  • You choose the terms to watch
  • A digest email when something new turns up
  • SnagFrog never posts, votes or messages for you

Backlinks and launch directories

See who links to your app, which links are new or lost each week, and which of 54 launch directories still don’t list it.

  • An authority score for each linking domain
  • Free or paid, dofollow or nofollow, for every directory
  • A link to each submit page; nothing is sent for you
Install

One line for the web. Five for Mac. One call in Godot.

Web games & sites
<script src="https://snagfrog.com/widget.js"
        data-app="gridburg" data-color="#30a46c" async></script>

A floating “Report a bug” button. Captures the page, browser and recent console errors. Website guide

macOS · Swift Package
let snag = SnagReporter(appSlug: "hourslip", publicKey: "snag_pk_…",
                        baseURL: URL(string: "https://snagfrog.com")!)

NSApp.helpMenu?.addItem(snag.menuItem(logFiles: { [logURL] }))

Adds “Report an Issue…” with the SnagFrog icon to your Help menu. Uploads the tail of your logs, system info and a window snapshot, then opens the report page. After a crash, the crash log comes too. macOS guide

Godot 4 · addon
# Project Settings: snagfrog/app_slug and snagfrog/public_key

# F9 opens a report, or call it from your pause menu:
SnagFrog.report()

Captures a screenshot, the end of the log and system info, then opens the report page. Notices when the last session ended unexpectedly. Godot guide · Download the addon

From the maker Image

How I keep track of bugs and suggestions for six apps.

Why I built SnagFrog, how the reports get in, and the HourSlip report that went from "this annoys me" to a release in an hour and a half.

Read the post
FAQ

Questions about SnagFrog.

What is SnagFrog?

SnagFrog is a bug reporting tool for indie apps and games. Each app gets a branded report page, plus a one-line web widget, a Swift helper for Mac apps or a Godot addon for games. Reports arrive in one inbox with logs and diagnostics, and Claude can fix the bugs and reply to the people who sent them.

What does it do besides bug reports?

Quite a lot around them. It captures errors and crashes on its own, grouped and counted. It keeps a changelog per app and tells reporters when a release fixes their report. It runs a public roadmap people can vote on, and turns kind words in reports into testimonials, with permission. For growth, it audits the website, tracks keywords and rankings, checks whether Gemini and Claude name your app, finds Reddit threads and mentions worth answering, and watches backlinks and launch directories, then puts it all in one ranked to-do list per app. And Launchpad takes a new idea from your local Claude to a live site.

How does Claude fix the bugs?

SnagFrog includes an MCP server and a Claude skill. Claude lists your open reports, reads each one with its logs, opens the repository for that app, fixes and tests the code, and leaves an internal note with the root cause and commit. It only emails reporters when you ask it to.

Do I need Claude to use SnagFrog?

No. The report pages, the inbox, labels, saved replies and two-way email all work on their own. Claude is there when you want it to do the fixing and the replying for you.

How do I get started?

Email hello@snagfrog.com with a line about your apps or games, and we'll set up a workspace for you.

Does Claude email my users on its own?

Only when you ask it to notify them. Otherwise it drafts the replies and waits for your OK.

What gets collected?

What the reporter types and attaches, plus app version, OS and device info. From Mac apps and Godot games, logs and a screenshot come along, and after a crash the crash log too. The reporter sees what is attached and can untick it before sending.

Which platforms?

Anything with a browser link. A one-line widget for web games and sites, a tiny Swift package for Mac apps, and an addon for Godot 4 games on Windows, macOS and Linux.

How is SnagFrog different from Sentry or Instabug?

Sentry and Instabug focus on crash reporting, monitoring and SDK-level telemetry. SnagFrog collects what your users choose to tell you, keeps it in one small inbox, and lets you or Claude reply. It can also capture errors and crashes on its own if you turn that on, grouped and counted, but it is not a monitoring suite: no performance tracing, source maps or session replay. It works well alongside one. See the full comparisons.

Your users are already finding the bugs.
Let them tell you.