← All work
FlashDropCROWD-POWERED DROPS FOR SHOPIFY
E-commerce & ShopifyLiveapps.shopify.com/flash-drop

FlashDrop

A Shopify 'crowd discount' app: shoppers pre-order by joining a drop, everyone's price improves as more people join, and orders are settled and charged only after the campaign hits its milestone.

Crowd-priced
price improves as more people join
Pay on settle
authorized at join, captured at close
Order-edit settle
every joiner rewritten to the real price

The problem

Group-buying — where a price drops as more people commit — is a powerful way for a small brand to run a launch, but it's genuinely hard to do correctly on Shopify: you have to hold everyone's order, work out the final discount only after the group forms, and then charge the right amount. FlashDrop does exactly that.

What it does

A merchant creates a drop campaign on a product with a ladder of milestones — each a target number of units and the discount unlocked at that level. Shoppers 'join' through a storefront widget that shows how many have joined and the next milestone; joining places a real order but authorizes payment rather than charging it up front.

When the campaign ends, the backend works out the highest milestone the group actually reached, retroactively applies that discount to every joiner's order using Shopify's order-editing API, and only then captures the deferred payment for the discounted total. A separate live mechanic can also add a free sample to a cart at checkout. It's participation-driven throughout — the price moves with how many people join, not with stock levels.

Key features

  • A price that improves as the crowd grows

    Each new joiner moves the whole group toward the next discount tier, so shoppers have a real reason to share a drop — the more who join, the better everyone's price.

  • Join now, pay only if it lands

    Joining authorizes payment instead of charging it, so a shopper commits without being charged for a discount that only exists once enough people join.

  • Settled fairly, after the fact

    When the drop closes, every joiner's order is retroactively rewritten to the discount the group actually earned before payment is captured — so nobody overpays and the merchant honors the real result.

  • A live progress widget on the storefront

    Shoppers see how many have joined and what the next milestone unlocks, so the group-buy is transparent rather than a leap of faith.

  • Optional free-sample bundling

    A checkout-time mechanic can drop a free sample into the cart, so a merchant can sweeten a drop without a separate promotion tool.

Where it stands

Live on the Shopify App Store, currently unlisted — reachable by direct link rather than public search. Its distinctive core is the deferred-settlement group-buy flow.

Under the hood — for the technically-minded

How it's built

The work is split across two codebases. A Remix admin plus three Shopify extensions — a discount function, a cart-transform function, and a storefront progress widget — handle the merchant UI and the live checkout mechanics. An Elixir/Phoenix backend owns the real settlement engine: the campaign and pre-order data, the order-webhook intake, and the milestone-resolution job.

The heart of it is deferred settlement. Shoppers authorize a payment mandate at join time; a scheduled poller finds ended campaigns, determines the milestone the cumulative join count reached, uses Shopify's order-editing API to retroactively apply that discount to every joiner's order, and only then captures the mandate for the discounted total — a materially riskier and more interesting design than a live cart discount.

The hard problems

  • Charging the right amount, after the fact

    The discount can't be known at checkout — it depends on how many people ultimately join. So payment is authorized but deferred, and a post-campaign job resolves the milestone, rewrites every order via Shopify's order-editing API, and captures the correct total. Reconciling order edits with deferred capture at scale is the genuinely hard part.

  • Crowd-driven, not stock-driven

    The mechanic is purely participation-based: the price ladder is driven by how many shoppers join, never by live inventory levels. That keeps the promise simple and honest — join to improve everyone's price — rather than tying it to stock the shopper can't see.

  • A clean split between UI and settlement

    The Remix side owns the merchant experience and the live checkout functions; the Phoenix side owns the money-critical settlement logic. Keeping the risky, stateful reconciliation in one dedicated backend service — rather than smeared across the storefront app — is what makes the deferred-charge design tractable.

Built with

  • Remix
  • Elixir/Phoenix
  • Shopify Functions
  • Postgres

Building something in this space?

Work with us →