Mafori Predict
THE STRATEGIC AMBITION
SERVICES
- Embedded CTO Services
- Whatsapp Integration
- Full Stack Engineering
- Identity Architecture
INDUSTRY
- Sports Technology
- Lead Generation
- Identity Verification
THE CHALLENGE
Most sports marketing campaigns are built to be discarded. A landing page for a tournament, a WhatsApp broadcast, a prize draw with no database behind it. The client wanted something different: a platform they could reuse across seasons, that captures real, verified data on every participant, and that holds up legally when prize money changes hands.
The brief was to build a prediction game that works across multiple sports, handles tiered prize logic, verifies user identities against a credit bureau, and redeems prizes at a stadium with a QR scan.
All of it needed to be production-grade from day one, not patched together for a single event.
VERIFICATION
We designed the identity verification layer to be robust, fault-tolerant, and adaptable to the client's existing infrastructure. If any step in the verification flow fails, the user is routed to a support channel rather than reaching a dead end.
The entire verification path was scoped and confirmed with the client's internal team during Phase 1.
User Experience
The web interface is mobile-first and single-purpose. Users land, pick a sport, submit their HT and FT predictions, enter their ID, and decide whether to opt into the premium tier. The flow is deliberately short. There are no account registrations, no email confirmations, and no navigational dead ends. After the match, winners get a WhatsApp message with a Virtual Ticket: a generated image containing the match details, their masked winner ID, the prize value, a reference code, and a QR code. The leaderboard is public but shows masked IDs only. Winners who want to check their exact rank type their National ID into a private search field on the site. Redemption works at the stadium or remotely. Staff scan the QR code on mobile or look up the reference code on a laptop. Either path triggers the same admin action: verify the physical ID, tap Redeem, and the record is locked.
THE IMPACT
The platform delivers three things at once that a standard campaign site cannot. A verified lead dataset. Every participant submits a National ID. Premium participants add a credit profile. Each event grows a structured database of financially qualified contacts that the client retains permanently.
A reusable asset. Adding a new sporting event takes minutes through the admin dashboard. Prize limits, sport type, and HT/FT scoring logic are all configurable without a development cycle. The same infrastructure runs Rugby, Soccer, and Tennis without modification.
An auditable prize record. The Virtual Ticket and QR redemption flow creates a tamper-proof log of every prize claimed. Stadium staff cannot redeem the same ticket twice. Remote claims go through the same system. The client has a complete, event-by-event prize liability record without relying on spreadsheets or manual tracking.
Tech stack
Frontend
- • Astro (Server-Side Rendering, hosted on Google Cloud Platform)
Backend & Data
- • Supabase (PostgreSQL + Edge Functions, Row Level Security)
MESSAGING & IDENTITY VERIFICATION
- • WhatsApp Flows
- • SMS
- • Proprietary verification gateway
Infrastructure
- • GCP Cloud Run
- • Google Cloud Platform
Engineering Note: Prediction Lock and Prize Integrity
Two components required the most care: making sure predictions close exactly at kickoff, andmaking sure every redemption is recorded without ambiguity.
The prediction lock runs server-side. When the match kickoff timestamp passes, the system rejects any new prediction attempts at the database level. There is no client-side timing trick that bypasses it, and no window where a late submission slips through.
Prize redemption is enforced through a tamper-proof event log. When a staff member redeems a prize, the entry is locked against further claims immediately. Whether the redemption happens via QR scan at the stadium or reference code lookup on a laptop, the result is the same: a complete, unambiguous record of who was paid and when.