Trust audit
Mapped the points where players judge whether a competition is legitimate, fair, and worth entering.
A UK prize-competition platform where players win by answering a skill question, with CMS-run competitions, Apple/Google Pay checkout, and automated draws that are cryptographically secured and publicly verifiable.
Project frame: Coast Competitions: skill-based prize draws built to be fast, premium, and provably fair
The skill question is verified before purchase, so compliance is built into the funnel.
Firestore transactions protect ticket allocation during concurrent checkout spikes.
Card, Apple Pay, and Google Pay are wrapped into one checkout path.
Online prize competitions run on trust: players have to believe the draw is fair. In the UK the platform also has to be a genuine game of skill rather than a lottery to be legal. Coast Competitions had to feel exciting and premium while being provably fair underneath.
Mapped the points where players judge whether a competition is legitimate, fair, and worth entering.
The skill question was moved before payment so the legal requirement is a product behaviour rather than legal copy.
Ticket numbers needed atomic allocation to avoid duplicate entries during sell-out surges.
Competitions, prizes, and result pages are managed from a CMS and scheduled functions instead of code releases.
Online prize competitions run on trust: players have to believe the draw is fair. In the UK the platform also has to be a genuine game of skill rather than a lottery to be legal. Coast Competitions had to feel exciting and premium while being provably fair underneath.
Rather than bolt a skill question on as an afterthought, the whole funnel is built around it: a server-side check verifies the answer before a player can buy a ticket. Compliance is built into the funnel, not added as footer small print. Verifying the skill answer before purchase keeps the platform on the right side of UK law.
Coast makes fairness public. Winners are selected by a scheduled Cloud Function running a fixed, logged draw, and every result is published with its winner, winning ticket, and date, under one promise: each draw is "cryptographically secured and 100% verifiable." Draws run as automated Auto Draws or streamed Live Draws. Because a sell-out sends a rush of concurrent buyers, ticket numbers are issued in atomic Firestore transactions, allocated once, never duplicated.
Competitions are content, so they live in a CMS (Contentful). The team launches, edits, and retires draws without a deploy. Checkout is a single DNA Payments lightbox (Apple Pay, Google Pay, card) with webhook fulfilment, and Postmark sends purchase and winner emails. It all ships as a Next.js monorepo (web app plus Cloud Functions) tuned for performance from the first commit.
Coast Competitions turns a legally tricky, trust-heavy idea into a fast, premium product that players believe in and the team can run themselves.
Coast turns a trust-heavy competition model into a premium, self-serve operation where players can see the prize, answer the skill question, pay quickly, and verify the draw outcome.