Skip to content
← All work
Coast Competitions

How can a prize-competition platform feel exciting while making fairness and compliance visible?

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

Role
Product Designer & Engineer
Year
2026
Platform
Web
Skill
entry gate

The skill question is verified before purchase, so compliance is built into the funnel.

Atomic
ticket integrity

Firestore transactions protect ticket allocation during concurrent checkout spikes.

3
payment methods

Card, Apple Pay, and Google Pay are wrapped into one checkout path.

01 — Context

The problem

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.

02 — Evidence

What shaped the direction

Trust audit

Mapped the points where players judge whether a competition is legitimate, fair, and worth entering.

Compliance flow

The skill question was moved before payment so the legal requirement is a product behaviour rather than legal copy.

Checkout load

Ticket numbers needed atomic allocation to avoid duplicate entries during sell-out surges.

Ops independence

Competitions, prizes, and result pages are managed from a CMS and scheduled functions instead of code releases.

03 — Process

How it came together

The brief

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.

A live competition: the prize, the odds, and the skill question that gates entry.

The skill question gates entry

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.

Fairness players can check for themselves

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.

The public results page: every draw, its winner, ticket, and date, cryptographically verifiable.

The team runs it without a developer

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.

The result

Coast Competitions turns a legally tricky, trust-heavy idea into a fast, premium product that players believe in and the team can run themselves.

04 — Craft

Decision trail

  • 01Built the whole funnel around a server-verified skill question, with entry gated before payment, so compliance with UK competition law is built into the flow rather than added as footer small print.
  • 02Made fairness public and provable: a scheduled Cloud Function runs a fixed, logged draw, and every result is published with its winner, winning ticket, and date, 'cryptographically secured and 100% verifiable.'
  • 03Guaranteed ticket integrity with atomic Firestore transactions. Numbers are allocated once and never duplicated, even under a sell-out rush of concurrent buyers.
  • 04Put competitions in a CMS (Contentful) and checkout behind a single DNA Payments lightbox (Apple Pay, Google Pay, card), so the team launches and runs draws without shipping code.
05 — Impact

Outcome

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.

3ways to pay
Verifiableevery draw
Next case study →One of the UK's biggest banks: improving subscription management for millions of mobile banking users