Lovable
Fast for a polished storefront with Supabase auth and storage wired in.
Payments · updated 2026-11-03
Hard: Only a slice You can vibe code a checkout page for your own ebooks in an afternoon, but the part Gumroad really sells is being the merchant of record, and that is not something you can prompt into existence.
A product page, a Stripe Checkout button and a download link after payment is a weekend project. What Gumroad charges 10% plus $0.50 for is everything around that: it collects and remits sales tax, VAT and GST worldwide, handles chargebacks and fraud, and pays you out. If you build your own, either keep Stripe and own the tax filings yourself, or put a merchant of record such as Lemon Squeezy, Paddle or Polar behind your pages. Building a multi-seller marketplace like Gumroad is a different and much harder business.
Gumroad is storefront and checkout for selling digital products, memberships and courses, acting as merchant of record for sales tax. This page is about building your own version for personal or internal use, or to learn how this kind of product works, not about copying Gumroad to compete with it. How we grade.
Difficulty is for a solo builder using an AI coding tool. Skip means not worth building yourself.
| Feature | Difficulty | Why |
|---|---|---|
| Product pages and storefront | Easy | Static pages or a small database table; any vibe coding tool does this well. |
| One-time checkout | Easy | Stripe Checkout or Payment Links handle the card form, so you never touch card numbers. |
| Secure file delivery | Medium | Store files privately and hand out short-lived signed URLs only after a verified payment webhook. |
| License keys | Medium | Generate keys on the webhook and add a validation endpoint with rate limiting. |
| Subscriptions and memberships | Medium | Stripe Billing plus a customer portal; access must follow subscription status from webhooks. |
| Global sales tax and VAT | Hard | Stripe Tax calculates it, but registering and filing stays your job unless you use a merchant of record. |
| Affiliates | Medium | Referral links, attribution cookies and payout reports; payouts themselves are the tricky part. |
| Multi-seller marketplace with payouts | Hard | Needs Stripe Connect, seller verification, refunds across accounts and tax forms. |
| Discover marketplace and audience | Skip | The buyer network is the moat; code cannot recreate it. |
Your own version vs Gumroad, at personal or small-team scale.
Standard fees: Fees only
No monthly fee. 10% + $0.50 per direct sale and 30% on Discover marketplace sales; Gumroad acts as merchant of record and handles sales tax.
Source: gumroad.com/pricing. Prices change; check before deciding.
| Running cost | Per month | Notes |
|---|---|---|
| Hosting (Vercel or Netlify hobby tier) | $0–$20 | Static product pages fit free tiers. |
| Database and file storage (Supabase) | $0–$25 | Free tier covers small catalogs; Pro adds more storage. |
| Transactional email (Resend) | $0–$20 | Receipts and download links; free tier covers about 3,000 emails a month. |
| Payment fees (Stripe or a merchant of record) | $0 | Variable: Stripe is about 2.9% + $0.30 per US card sale; merchant-of-record services charge roughly 4% to 5% plus a fixed fee. |
| Domain | $1–$2 | About $12 to $20 a year. |
| Total | $1–$67/mo | Gumroad charges fees, so savings depend on your sales volume. |
Fast for a polished storefront with Supabase auth and storage wired in.
Good for a one-repo Next.js shop with Stripe Checkout you can deploy in an evening.
Best for the webhook, signed URL and license key logic where details matter.
Paste it into your tool, then ask for a plan before any code. Edit the specifics to match what you need.
Build a small personal store for selling my own digital products (PDFs and zip files). This is for my own products only, not a marketplace. Stack: Next.js, Supabase (Postgres, auth, private storage), Stripe Checkout. Data model: products (id, slug, title, description, price_cents, currency, file_path, active), orders (id, product_id, email, stripe_session_id, status, created_at), downloads (order_id, count, last_at). Features: - Public product pages and a simple storefront - Buy button that creates a Stripe Checkout Session server side; never trust price from the client - Stripe webhook (checkout.session.completed) that verifies the signature, marks the order paid idempotently and emails a download link via Resend - Download route that checks the order is paid and returns a signed URL valid for 10 minutes; limit to 5 downloads per order - Admin page (my account only) to add products and view orders Security: files live in a private bucket, Row Level Security on every table, admin routes check my user id server side, secrets only in server env vars, rate limit the download route. Enable Stripe Tax and leave a note where tax registration is still my responsibility.
AI tools often get these wrong by default. Check each one before anyone else uses the app.
They went far past the prototype: support, payments, reliability and years of iteration. Their profiles show what that took.
Douglas Kendyson built Selar
Lets African creators sell digital products in local currencies.
Vusal Orujov built Keyplar
Delivers license keys and files after Stripe, Lemon Squeezy or Polar checkouts.
Panche Isajeski built AgentaOS
Merchant of record for freelancers and SaaS; $10K MRR.
1 maker who no longer builds their own products — most now work at a company. Kept for the record.
@shl United States394K followers
Founder of Gumroad and author of The Minimalist Entrepreneur
Gumroad, Flexile, Helper$17.8M/yr
If you need Gumroad's job done rather than a project, these are built and supported by independent makers.
selar.com
Platform for African creators to sell ebooks, courses, templates, memberships and other digital products in local currencies.
asaridar.com
Gumroad alternative for selling digital products with 0% platform fees.
keyplar.com
Delivers license keys, files and GitHub access after Stripe, Lemon Squeezy or Polar checkouts.
agentaos.ai
Merchant of record for freelancers, agencies and SaaS that handles global card and subscription payments without a company.
You learn the full payment lifecycle: checkout sessions, webhooks, idempotency and why merchant-of-record services exist.
Hard. You can vibe code a checkout page for your own ebooks in an afternoon, but the part Gumroad really sells is being the merchant of record, and that is not something you can prompt into existence.
A working personal or internal MVP takes about 4–10 h with a tool like Lovable. A polished version you would rely on every day takes about 4–8 days, mostly spent on sales tax, vat and gst registration, collection and filing in every country you sell to.
Expect $1–$67/mo at personal or small-team scale (hosting (vercel or netlify hobby tier), database and file storage (supabase), transactional email (resend), payment fees (stripe or a merchant of record), domain). No monthly fee. 10% + $0.50 per direct sale and 30% on Discover marketplace sales; Gumroad acts as merchant of record and handles sales tax.
Yes. Stripe Payment Links plus a private download link is enough for a few products, but you then own sales tax and VAT. A merchant of record such as Lemon Squeezy, Paddle or Polar takes that on for a percentage of each sale.
Only past a certain sales volume. At $1,000 a month in sales Gumroad's fees are about $100 plus $0.50 per sale; your own setup costs Stripe fees plus the time and cost of handling tax yourself.
The merchant of record is the legal seller of each transaction and is responsible for collecting and remitting sales tax and VAT. Gumroad plays that role for you; with plain Stripe, you are the merchant of record.
Building your own tool that solves the same problem is common and generally fine. Copying Gumroad's code, design assets, brand name or content is not. Use your own name and design, respect their terms of service, and get proper advice if you plan to sell it. This page is not legal advice.