The main issue with most makers is that there are limited number of caps, and the demand often times exceeds supply. Due to the nature of theses caps, only a few can be made and sometimes the yield is even lower.
The sale formats are usually Raffle or FCFS when the caps are made before the sale and sometimes there would be fulfillment sales in which the orders are gathered first and corresponding number of caps are made. Most sales however are raffle sales where folks enter their interest on a form and then invoices are allocated using RnG of some form to keep the allocation fair.
We started out just like that, with a Google Form to gather responses. Then export the responses in a sheet, hide names, add a column for RnG values and sort by it. Then export this into CSV for PayPal invoicing. However, we soon realized that this is a very involved process after doing it a few times and there is always chance for human errors. Then there is the whole issue of people entering and not paying so a blacklist has to be maintained etc. I started scripting some around this, specially the invoicing part to avoid getting the options wrong on the invoice.
A few months later, welcome KaveMan. It's an application that started out on my server and now lives in AWS. It integrates with Google Apps to manage forms and responses, has a REST API to accept responses and other things. It then integrates with Shopify to manage customers and invoicing. And finally, we use Discord to talk to it, he lives as a bot on our server.
It even answers API calls for cataloging all caps so that we can just tie into Keycap-Archivist.
We use Discord commands to set up sales when ready. KaveMan then does the rest of it on its own and we get pinged when there are orders to be shipped so we can start packing. This takes out most of the sale management part. We can also very easily then weigh down earlier no-pays and even whitelist folks per sale for things like a Raffle Pass. And since all of this is handled automagically, we don't have to worry about causing errors on the invoice, playing favorites or invoicing for the wrong number of caps. And at the end of it, the pics we used for sales show up on the catalog.
As you can see, I might have over engineered it. But it gives us more time to focus on the caps and colorways and not worry about the logistics of running a raffle sale.
And since this thing is way overkill anyway, why not get it to do a few other things. KaveMan also does the Giveaways on our discord, role management and Flash Sales. The last was a no brainer given it already knows how to invoice etc. And the good thing is we can factor in blacklists for even things like giveaways so that everything remains fair for everyone.
And since this is all so nicely tied up together, we can have folks opt-in (via a role) into Bot pings and KaveMan can ping them if he sees an invoice going out to their email. This can help out with Gmail classifying the Shopify invoice emails as Spam or worse, Promotions. He includes in a link to the invoice directly in there as well.
My list of things to teach KaveMan is ever growing. He has proven quite useful over time, barring a few hiccups. But becoming more and more consistent over time,, gathering new skills once the world sleeps at night and maybe someday he'll be ready to make friends with other makers as well.