I’ve been working on some releases and it really got me thinking.
Finishing the plugin is only one part of actually shipping a product.
In JUCE, a lot of the work is already demanding like DSP, UI, parameters, presets, state management, installers, plugin formats, DAW testing, code signing, notarization, support across platforms, and so on.
But once the plugin is ready to sell, there is a second layer of work that’s easy to underestimate:
product page
checkout
license delivery
customer accounts
download access
license resets
device limits
refunds and revoked access
update delivery
support emails
“I bought this but lost the download link”
“I changed computers, can you reset my activation?”
“My license is not showing up”
“Where do I log in?”
None of that’s really DSP or plugin development. But if it’s missing, the release can still feel unfinished.
I’m curious how other JUCE developers approach this part of the release process.
Do you usually use existing services like Gumroad, Shopify, Paddle, FastSpring, custom licensing systems, your own backend, or something else?
And do you try to keep that business/customer logic completely outside the plugin or do you build some of it into the plugin itself?
I’m especially interested in where people draw the line between “the plugin should handle this” and “this belongs in the surrounding release infrastructure.”
simplicity is key: if you choose a simple license key system, and you trust the user to only install the plugin on (any number of) his machines, then things become much simpler to handle.
Your plugin will probably be cracked before a license key is leaked publicly.
Moonbase.sh handles 90% of the things on your list. Shopify etc can also do a lot of this but may need additional plugins. You could build your own backend but it’s way easier (and cheaper) to farm this out to a specialized service.
Your list of additional tasks is quite accurate. If you decide to do all that by yourself, it’s at least as heavy work as developing the plugin. Also requires different skills sets, like web development or international tax laws;-)
It would be nice to have a dedicated page/tutorial in the JUCE docs with recommendations of how to actually sell plugins as an indie developer, with a list of what platforms are available with explicit JUCE integration.
I also always thought JUCE itself should have a minimal-effort platform for individuals to sell plugins without needing a whole DevOps team.
Also, at the risk of sounding condescending, this post feels like it was written by AI?
Please don’t expect people to take the time to share their expertise with you if you’re not willing to put the effort in to writing the post yourself. Forums work best when they’re full of humans talking with other humans.
I also added a store directly in the plugin to browse products, etc. Purchases still happen server side though.
Within the store is a “My Products” button/section on so user can quickly see product data like activations, machines left, grace period, deactivate this machine, etc all within the plugin.
apologies in advance but I also thought this post was AI generated. But if in case you’re really asking in earnest… I use Payhip for all those things you mentioned. They support license keys and have an API for validating them so you could handle activation from within the plugin. They also take care of checkout pages, automatic delivery, customer emails, and sales tax/VAT in the US, Canada, UK and EU. I built my entire website for free there. The nice bonus is that sometimes my customers email payhip’s support team (instead of me) to ask those “where is my license key” questions - payhip seems to be able to answer those things on my behalf so I’m somewhat less bombarded I guess. Can’t tell for sure but I’ve had a few customers letting me know about it.
Now the more difficult part about selling plugin is I think the piracy part. TBH I havne’t quite figured this part out, but I tried sussing out whether my plugin has been pirated by searching all over reddit. Seems like piracy happens more when you’re already a bigger seller, so maybe I’m not there yet, but this is big on my mind and I haven’t fully cracked the code on this