What This Does
The Gumroad QA Kit audits your Gumroad products against a canonical pre-launch checklist (the bundled spec/GumRoad.md). It catches the silent-failure modes that every first-time seller misses, before the buyer hits them.
The seven things it catches
- Custom Receipt URL not set — Gumroad falls back to its default download page. Your
thank-you.htmlis unreachable. Easy to miss because Gumroad's default looks fine. - Stripe
REPLACE_WITH_LIVE_LINKplaceholder still in the homepage Buy button. - Buy button host doesn't match Gumroad — usually a typo in the URL after a username change.
- Permalink mismatch — Buy button uses the wrong permalink path.
index.html/START-HERE.html/ launchers missing from the deployed package — buyers see Chrome's rawIndex of /Users/.../directory listing.- Subfolder
index.htmlmissing — same problem one click deeper. - Spec drift — your
spec/GumRoad.mdno longer documents an entry-point file the runner expects, or vice versa.
How it works
Two equivalent runners, same checks:
Python (runner/run-qa.py) — fastest. No n8n required. Run from your terminal:
export GUMROAD_TOKEN=... # Gumroad → Settings → Advanced → Applications
python3 runner/run-qa.py your-product-permalink
# or:
python3 runner/run-qa.py --all
Per-section pass/fail report, exit code 0 on full pass, 1 on any failure.
n8n (workflows/gumroad-qa-workflow.json) — for scheduled audits + Slack notifications + Notion logging:
- Reads
spec/GumRoad.mdfirst (validates the spec itself) - Pulls each Gumroad product via the Gumroad API
- HEAD-probes every required entry-point file on your deployed site
- Posts pass/fail to Slack, logs the run to a Notion DB
See diagrams/workflow-diagram.svg for the visual + docs/WORKFLOW-EVENTS.md for the per-node walkthrough.
What's editable, what isn't
spec/GumRoad.md— edit this to match your business. Add sections, swap product examples, retune the launch sequence. The runner reads it as the source of truth.runner/run-qa.pyPRODUCTS dict — edit this to add each of your Gumroad products with their permalink, expected price, and required entry-point files.workflows/gumroad-qa-workflow.jsonConfig node — same, in the n8n flavor.- The check logic itself — JavaScript inside the Code nodes / Python in the runner. Tweak as needed.
Who this is for
✅ Indie creators launching their first paid Gumroad product who want a checklist that's been battle-tested ✅ Solo operators running multiple products who need a daily/weekly audit so listings don't drift ✅ Agencies building Gumroad products for multiple clients who want a per-client QA pipeline
Who this is not for
❌ Teams selling exclusively via Stripe Payment Links / their own backend — most checks are Gumroad-specific ❌ Anyone wanting a no-config "just works" tool — you do edit the spec and the config ❌ SaaS founders selling subscription software — Gumroad's subscription support exists but the checklist is tuned for digital downloads
Stack
- n8n ≥ 1.50 (cloud or self-hosted)
- Python ≥ 3.9
- Gumroad account + API access token
- Optional: Slack workspace (for n8n notifications) + Notion (for the run log)
What you get for $25
Every artifact in this folder. Workflow JSON, Python runner, GumRoad.md spec template, SVG diagram, full per-node walkthrough, listing-copy templates, the launcher convention, the subfolder-index pattern. No vendor lock — self-host, edit, extend, or migrate at will. One-time purchase, perpetual license (see LICENSE.md).
"Meerkat LLC" and the Professor Meerkat mascot are marks of Meerkat LLC.
© 2026 Meerkat LLC · meerkat-llc.com · support@meerkat-llc.com · built with care in Anna, Texas