Changelog
What's New
Everything we've shipped. Features, improvements, and fixes.
improvement
Promotional nudges + scale optimizations
- Share buttons on giveaway winner results, organizer winners page, join success, and thank-you page
- Feature discovery cards on entry success (wishlists, exchanges, PuzzoFMe)
- "Browse More Giveaways" CTA for non-winners
- "Run Another Giveaway" CTA for organizers after draw
- Wishlist creation nudge on exchange join success
- Paginated entries API (page/pageSize params, max 200)
- CDN caching on public giveaway endpoint (30s TTL + stale-while-revalidate)
- O(n*k) weighted draw algorithm replacing O(n*bonus) pool expansion
- 5 new composite database indexes for giveaway and exchange queries
- Profile email lookup replaces listUsers fallback for entry deduplication
improvement
Comprehensive giveaway test coverage
- 68 new tests across 11 test files covering all giveaway API routes
- Scale tests for 10k-50k entry draws with weighted probability verification
- CSV export formula injection test
- Auto-draw cron tests with failure cap verification
feature
Giveaway growth features
- QR codes and share buttons on campaign dashboard and entry success page
- Giveaway creation templates (Twitter, Product Launch, Newsletter, Community)
- Duplicate (clone) campaign with fresh slug and reset state
- Bonus entries for sharing — referral links with weighted draw probability
- Collapsible social platform picker with badge summary
fix
Security and UX hardening
- CSV export formula injection sanitization (prefix = + - @ | with single quote)
- Crypto-secure Fisher-Yates shuffle for all randomization
- DRY extraction of shared giveaway utilities
- Mobile layout fixes for giveaway entry and dashboard pages
- Accessibility improvements on giveaway forms
feature
Giveaway eligibility questions
- Custom entry form builder with 7 question types (text, textarea, URL, select, radio, checkbox, paragraph)
- AI-suggested eligibility questions based on prize and campaign type
- Required/optional toggle per question
- Answers displayed on entry detail and CSV export
feature
Giveaway core
- Create and manage giveaway campaigns with title, prize, winners, draw date
- Public entry page with social handle collection
- Entry management: exclude, pre-select, vouch, search, filter by status
- Cryptographically random two-pool draw (pre-selected + open)
- Winner and non-winner email notifications
- Auto-draw via cron on scheduled date with failure notifications
- CSV export of all entries
- Browse public giveaways page
- Tier limits: 5 campaigns / 500 entries (free), unlimited / 10k (Pro)
feature
Tier limits bump + SEO landing pages
- Increased free tier limits across the board
- 10 SEO landing pages for high-intent keywords
- 5 blog posts with structured data and related posts
- Country-specific landing pages (Nigeria, Kenya, South Africa)
feature
Email notifications expansion
- Exchange approaching reminder (day before)
- Reservation reminder for gift-givers before event date
- Giveaway draw reminder for organizers
- Auto-draw failure notification with final notice variant
- Giveaway cancellation notification to all entrants
feature
Monetization: Pro tier + Lemon Squeezy
- Pro subscription via Lemon Squeezy ($2.99/mo or $19/yr)
- Tier-gated limits on groups, wishlists, giveaways, AI, bulk invites
- Subscription management portal in Settings
- Usage dashboard for free tier users
feature
AI features suite
- AI wishlist builder — describe a person, get a full gift list
- Photo/screenshot import — upload image, AI extracts items
- AI gift recommendations on wishlists and match reveal
- AI thank-you note generator with tone selection
- 10 free AI uses per day, unlimited on Pro
feature
PWA + push notifications
- Progressive Web App with installable manifest
- Browser push notifications for match-ready and giveaway winner events
- Push notification toggle in Settings
feature
White Elephant mode
- Yankee Swap / White Elephant gift exchange mode
- Random turn order draw instead of Secret Santa matching
- Animated turn number reveal
feature
Wishlist reservations + thank-you notes
- Wishlist item reservation system (junction table)
- Quantity support for wishlist items
- "Do Not Buy" flag with reason
- Thank-you notes between gift givers and receivers
- Budget helpers on match reveal page
feature
Core launch
- Gift exchange creation with 12 occasions and budget ranges
- Invite links, QR codes, and bulk email invites
- Secret Santa matching with exclusion rules and gender-aware pairing
- Animated match reveal with gift suggestions
- Wishlists with manual add, URL scraping, and shareable public links
- Google and email (magic link) authentication
- Welcome email on first sign-in