Inspiration

Anyone who has ever tried to buy a limited-edition sneaker, a new gaming console, or a highly anticipated concert ticket knows the drill: you sit in a digital waiting room, the site inevitably crashes under the load, and when it finally recovers, everything is sold out. The culprit is almost always the database. Traditional relational databases struggle immensely with sudden, massive spikes in write-heavy traffic often referred to as the "Thundering Herd" problem. We were inspired to see if we could build a highly resilient, atomic, and scalable drop engine without relying on expensive, complex queuing infrastructure like Kafka or Redis.

What it does

Burst is a specialized, serverless e-commerce platform designed exclusively for limited-edition product drops.

When a drop goes live, users can click to claim a spot. Behind the scenes, Burst atomically checks the inventory and locks in their reservation. If successful, the user is granted a strict 10-minute checkout window to securely complete their payment via Stripe. If they fail to pay in time, their reservation automatically expires and the inventory is returned to the pool for the next person in line. Burst provides a gorgeous, premium UI and a transparent queueing system so users know exactly where they stand.

How we built it

Burst relies on a "Zero Stack" philosophy, leaning entirely on managed serverless infrastructure:

  • Frontend & API: We used Next.js deployed on Vercel for lightning-fast edge rendering and serverless API routes.
  • Database: We exclusively used AWS DynamoDB. We utilized an advanced Single-Table Design to store Drops, Users, Inventory, and Reservations all within a single table.
  • Payments: Integrated Stripe Checkout to handle secure, PCI-compliant payments.
  • The Drop Engine: The core of our application relies on DynamoDB's TransactWriteItems. When a user claims a spot, Burst executes a single, ACID-compliant transaction that (1) verifies the user hasn't already claimed a spot, (2) checks that inventory is greater than 0, (3) decrements the inventory, and (4) creates a 10-minute reservation lock.

Challenges we ran into

The biggest challenge was preventing race conditions (overselling) without a traditional queue. If 10,000 people click "Buy" at the exact same millisecond for 100 available items, a poorly designed database will oversell the inventory. Designing our DynamoDB schema to handle this via TransactWriteItems was challenging but incredibly rewarding.

We also ran into challenges with Vercel's serverless function timeouts when trying to bulk-seed hundreds of mock queue entries into DynamoDB for our demo. We had to optimize our database interaction patterns to execute within strict serverless limits.

Accomplishments that we're proud of

  • Zero Queues: We successfully prevented overselling and handled massive concurrency entirely at the database layer using DynamoDB conditional expressions and transactions, eliminating the need for complex messaging queues.
  • Native Expiration: We successfully utilized DynamoDB's native Time-To-Live (TTL) feature. Instead of running expensive, polling cron jobs to release unpaid reservations, DynamoDB automatically expires the locks after 10 minutes.
  • Premium UX: We built a stunning, dark-mode, neon-accented user interface that feels like a truly premium drop platform.

What we learned

We gained a massive appreciation for NoSQL Single-Table Design. Moving away from traditional relational models forced us to think deeply about our access patterns before writing a single line of code. We also learned how to master DynamoDB's atomic transactions to build bulletproof infrastructure.

What's next for Burst

In the future, we want to integrate WebSockets to show the global inventory decrementing in real-time across all clients. We also plan to introduce advanced anti-bot challenges (like cryptographic proof-of-work) to ensure real humans get the products, and dynamic pricing models that adjust based on real-time queue demand.

Built With

Share this project:

Updates