Skip to content

Agora Competitions

Personal

End-to-end platform for running transparent online prize competitions, with real-time ticketing, verifiable draws, instant wins, secure checkout, customer accounts, and compliance-focused operations tooling.

Visit Project Website

Overview

Agora Competitions is an end-to-end platform for running transparent online prize competitions. Customers can discover live draws, answer entry questions, buy tickets, track their entries, reveal instant wins, manage site credit, and follow winner announcements and draw replays. Behind the storefront is a comprehensive operations suite covering the full competition lifecycle, from launch and ticket allocation through to payments, winner claims, payouts, and prize delivery.

Key Outcomes

  • Built a robust purchase flow with server-validated baskets, atomic ticket allocation, hosted DNA Payments checkout, callback verification, refunds, and reconciliation.
  • Made competition fairness visible through live availability, privacy-safe entry lists, locked draw records, instant-win commitment hashes, published winners, and broadcast replays.
  • Created a self-service customer account for orders, tickets, wallet activity, instant wins, postal entries, support conversations, responsible-play controls, and winner claims.
  • Delivered a role-based admin platform for competitions, promotions, affiliates, orders, draws, winners, payouts, analytics, support, compliance, and auditable operational actions.

Implementation Notes

Built with Next.js 16, React 19, TypeScript, Convex, and Clerk. Convex provides the transactional data model and real-time updates, while Clerk handles authentication and role-aware access. The platform integrates DNA Payments for card and wallet checkout, Resend for transactional email, and UploadThing for managed media. It also includes structured SEO data, an MDX publishing workflow, privacy tooling, rate limiting, and server-enforced player-protection controls.

Contact

Questions or need more details? Reach out via email or through my other contact links.