I’m excited to let you know about a fix we’ve deployed to improve the experience of backing Limited rewards on Kickstarter. This update will reduce frustration for creators who offer rewards in a Limited tier, and will make it easier and clearer for backers who want to back those rewards.
Problem: Prior to this release, when a creator launched a large project with a Limited rewards tier available, we would be prone to the site buckling and becoming unavailable. This was due to a large group of backers rushing at once through checkout to get one of the Limited rewards—some people would be lucky while others would not, and there wasn’t clarity about what was happening if you weren’t one of the lucky ones. The load this put on our system would bring it down, and nobody would be able to pledge to any project.
Solution: To better handle this, we implemented a revised checkout flow that added an element of queuing. Now, each successful backer is assigned a Limited reward and has fifteen minutes to complete the checkout, otherwise that inventory is released and available for another backer to pledge to:
If a backer is too late and all the rewards have been claimed, they’ll receive a notice to try again:
While this looks simple in terms of a backer-facing change, the backend logic and work to support this is pretty massive. The approach we took was to create a limited pool of reward database rows that correspond with the project’s Limited rewards so that, earlier in checkout, a backer who starts the backing process “claims” a reward row, and then we start a timer for how long they have a hold on that row. If their hold on the Limited reward expires (because their checkout took too long, for example), then it’s available to be claimed by another backer. This is no easy task of computer coordination (shared resources are usually a bit trickier, especially when many people want them all at once), but through our testing in real world situations, we’ve been able to refine it and prevent overselling rewards.