Back to projects

Live · iOS App Store

Prizely

Prizely is a QR-powered prize-draw marketing platform for UK venues — pubs, bars, cafés, restaurants — and the brands that want to reach their customers. Brands and venues fund real cash prize pools; customers scan a QR code in-store, upload their receipt, and enter a fully-funded draw. Every ticket, every draw, every winner is recorded on a public, blockchain-backed transparency ledger.

Prizely marketing platform hero — Real Customers, Real Engagement. Brand-funded prize pools shown alongside an iOS phone mockup with a Heineken £500 prize and QR redemption screen.

The problem

Brands spend significant budget on digital impressions that rarely translate into in-venue footfall. There's no clean line of attribution between an ad view and a verified receipt at a partner venue, and traditional loyalty programmes feel transactional — points-for-purchase models don't excite first-time customers or motivate them to come back.

Venues are stuck in the middle: paying for digital ads with vague ROI, or running expensive in-house loyalty schemes that customers forget about. Customers, meanwhile, are tired of paying a premium for the privilege of earning points they may never redeem.

The approach

Prizely flips the model. Instead of customers paying to earn points, brands and venues fund a real cash prize pool. After a purchase, the customer scans the venue's QR code, uploads a photo of their receipt, and earns 1 Local Point per £1 spent. Ten LP converts into one ticket for the active draw. Customers never pay money — the entire prize pot is sponsor-funded — and brands only pay for verified, in-store transactions, not impressions.

For brands

Sponsor named prize pools across a network of venues. Pay only when a real customer makes a real purchase and uploads a real receipt — full attribution, no ad-impression waste.

For venues

Drive measurable footfall and repeat visits with prize pools that update in real time. Customers see countdowns, ticket counts, and live unlock progress that pulls them back.

For customers

Free to play. Real cash prizes. Every step — from scanning a QR to picking up a win — is verifiable on a public ledger. No spend required beyond your normal purchase.

Trust by design

Geolocation-verified scans, photo-receipt evidence, and a Solana-compatible public ledger make every draw independently auditable.

How a draw entry works

  1. Step 1

    Scan the venue QR

    Master QR codes are venue-specific. The app validates them server-side and runs a haversine geolocation check against an admin-configurable radius before letting the flow continue.

  2. Step 2

    Upload your receipt

    A photo of the receipt is uploaded directly to private object storage and tied to the redemption — every entry has receipt-level evidence, never just a tap of a button.

  3. Step 3

    Earn Local Points

    The app converts the purchase amount to LP at 1 LP per £1 (e.g. £33.50 = 33.5 LP). LP is venue-scoped and tracked per customer per restaurant.

  4. Step 4

    Pick your tickets

    Ten LP burns into one ticket. For Lucky Number pools, the customer picks a 6-digit number per ticket; for Random pools, tickets are entered as-is. Server-side guards prevent double-creation.

  5. Step 5

    Watch the draw, see the result

    Pools have visible countdowns and live participant counts. When a draw closes, the result and the winner are written to a public ledger anyone can audit.

Prizely iOS app home screen showing a Global Prizely Pool with £1,000 prize, £41 unlocked, 31 tickets so far, an 11-day 11-hour countdown, and an At-A-Glance dashboard with ticket and Local Point counts.

Customer home screen — live pools, countdowns, at-a-glance stats.

What's under the hood

Multi-pot venues

A single venue can run several active prize pools at once — a house pool, a brand-sponsored pool, a Lucky Number pool — each with its own draw date, entry cost, and participant counter. The QR flow lets customers pick which pool to enter when they have multiple to choose from.

Brand-sponsored pools

Brands fund pools that surface in the home slider with a hero image and a "SPONSORED" badge. Each brand pool gets its own dedicated detail page with a sticky entry CTA, trust badges, and an Apple/Google not-a-sponsor disclaimer.

Two draw mechanics

Random draws pick a winner uniformly across all tickets in the pool. Lucky Number pools ask each customer to choose a 6-digit number per ticket — only matching tickets win, raising the perceived agency and the social conversation.

Blockchain-backed ledger

Every user and venue has a Solana-compatible Ed25519 wallet. Pot funding, ticket entries, winner selection, and prize distribution are all written to a public transactions table — designed from day one for a clean migration to Solana mainnet when the time is right.

Privacy by design

Other customers' profiles are only ever read through privacy-safe database views, not the raw profiles table. Each user controls — per field — whether their display name, avatar, city, country, bio, and favourite activities are visible publicly. Wallet addresses stay internal.

Native iOS, App Store-ready

React Native + Expo SDK 54 with the New Architecture enabled. Native Apple Sign In, direct Google OAuth + PKCE, APNs push notifications, an animated splash, runtime dark/light theming, and full Apple App Store compliance for sweepstakes and account-deletion guidelines.

Real-time engagement loop

Push notifications via Expo → APNs land draw results, winner announcements, and support replies on the customer's lock screen. Database triggers keep participant counts and pool unlock amounts up to date so the home feed always reflects live state.

Cash withdrawal flow

Winners can withdraw real cash through a phone-verified, KYC-gated bank flow with admin-reviewed identity documents and a £10 minimum. KYC and bank records are retained for compliance even after account deletion.

Public profiles, public proof

Every win on Prizely is anchored to a wallet address and visible on a public profile — but only if the user has opted to make their identity public. Animated trophies float beside the avatar based on win count, pulling the social proof into the moment.

The activity ledger on each profile is wallet-cross-referenced: it merges older transactions tagged by customer hash with newer wallet-tagged ones so historical wins never disappear.

  • Ledger-verified wins linked back to the venue and pool
  • Per-field privacy controls: name, avatar, location, bio, activities
  • Anonymous winners shown as "A Prizely Winner" — never doxxed
  • Account deactivation and deletion both fully self-serve
Prizely customer profile screen for Alexi mak from Leeds — gold trophies floating beside the avatar, £2,425 won total, six listed wins from venues including Heineken UK and Imperial IB Café, and a recent activity ledger of ticket entries.

Public profile — wins, totals, and a verifiable activity ledger.

Compliance & integrity

Apple App Store compliant

Native Sign In with Apple, "Continue / Next" pre-prompt language for camera and notifications, and a clearly displayed not-a-sponsor disclaimer wherever a contest is referenced — onboarding, Help Center contest rules, venue pages, and brand pages.

Receipt + location proofs

Every redemption ties together three independent proofs: a venue-bound Master QR, a haversine-checked GPS location within an admin-set radius, and a photo of the physical receipt. No proof, no points.

Account lifecycle

Reversible deactivation, full deletion with PII anonymisation, and a re-registration flag so deleted accounts that come back are flagged for admin review — keeping the ledger clean without locking anyone out permanently.

Tamper-resistant draws

Multi-layer guards prevent double-earning of points and double-creation of tickets across navigation gestures, back-button intercepts, and server-side LP balance checks. Expired pools are blocked client-side and server-side.

Technology

Built for native performance, real-time data, and a clean migration path to a public chain.

React NativeExpo SDK 54TypeScriptexpo-router v6SupabasePostgreSQL + RLSEdge Functions (Deno)TanStack Query v5ZustandReanimated v4expo-camera (QR)expo-secure-storeAPNs pushApple Sign InGoogle OAuth + PKCESolana-compatible Ed25519 walletsEAS Build + OTA updates

Where it is, what's next

Prizely is live on the iOS App Store with active venues, brand-sponsored pools, real cash withdrawals, and a public transparency ledger. Current focus is scaling venue partnerships across the UK, onboarding brand sponsors for cross-venue campaigns, and continuing to harden the ledger so the entire draw lifecycle is independently verifiable.

Want to see Prizely in action?

Whether you're a brand exploring a sponsored prize-pool campaign, a venue interested in joining the network, or an investor curious about the unit economics — happy to walk through a live demo.

Other Projects