Back to ProjectsFull-Stack

DrawDeck — Giveaway Platform

Full-stack giveaway and promotions platform with entry tracking, winner selection, and an admin dashboard for campaign management. Built for marketing teams running high-volume promos.

Languages
JavaScriptTypeScript
Skills & Tech
ReactNode.jsExpressMongoDBAdmin Dashboard
DrawDeck — Giveaway Platform

Giveaway platforms need auditable fairness. Winner selection has to be genuinely randomized and defensible, entry limits need enforcing without loopholes, and the admin side needs to handle high entry volume without becoming a bottleneck during a campaign's peak. DrawDeck is the full-stack giveaway and promotions platform built around those constraints — entry tracking, winner selection, and an admin dashboard for marketing teams running high-volume promotional campaigns.

What I Built

  • Entry system — sign-ups, eligibility rules, and enforced entry limits
  • Randomized, auditable winner selection logic
  • Admin dashboard for campaign creation, entry monitoring, and winner exports
  • Automated notification flow for winner announcements and entry confirmations
  • Campaign analytics — entries over time and conversion tracking

Tech Stack

  • Frontend: React
  • Backend: Node.js, Express
  • Database: MongoDB
  • Notifications: Transactional email integration

Key Decisions

  • Made winner selection algorithmically randomized and logged for audit rather than trusting an external random-number service, so the platform could defend its fairness claims directly
  • Enforced entry-limit rules at the backend rather than only in the UI, closing the obvious loophole of a user simply resubmitting the form
  • Built the admin dashboard around campaign lifecycle (setup, monitoring, export) rather than a generic data table, since marketing teams needed to move through that specific workflow quickly during a campaign's peak

Outcome / Impact

Delivered a reliable giveaway platform that marketing teams use to run promotions with transparent, auditable winner selection — removing the manual spreadsheet-and-random.org process it replaced.

Interested in similar work?

Let's discuss your next project.

Contact Me