SameLine ⚽
Where Kasi Football Lives — The operating system and closed-loop micro-economy powering South African township grassroots football.
💡 Inspiration
If you step onto a red-dirt pitch on a Sunday afternoon in Katlehong, Soweto, or Vosloorus, the energy will give you chills. Thousands of passionate spectators pack the sidelines, vuvuzelas and brass horns roar, and local legends showcase dazzling skill and flair you will never see in televised European leagues. Grassroots football (kasi football) in South Africa is an unstoppable cultural phenomenon with millions of fans, thousands of weekend tournaments, and extraordinary raw athletic talent.
Yet behind this vibrant passion lies an agonizing reality: grassroots football is paralyzed by the Cash Paradox.
- Matchday Danger: Carrying thousands of Rands in physical paper cash to un-fenced township pitches for team entry fees and prize pots attracts violent crime and robbery.
- Club Starvation: Township clubs operate hand-to-mouth. A R500 tournament registration fee or R300 for new match balls can bankrupt a squad and prevent young men from playing.
- The Community Trust Deficit: Fans, diaspora relatives, and local neighborhood spaza shops want to support their neighborhood boys, but informal cash hand-offs lack transparency, receipts, and accountability. Too often, donated money never reaches the players.
We asked ourselves: What if mobile technology and modern app-store monetization could eliminate cash risk, create radical financial transparency, and turn local football passion into a self-sustaining community economy?
That was the spark for SameLine.
⚡ What It Does
SameLine is a comprehensive mobile operating system designed specifically for the unique dynamics of informal African football. Rather than just offering static brackets or fixture lists, SameLine introduces an unfair advantage: a closed-loop tokenized micro-economy powered by RevenueCat.
1. The Closed-Loop Token Economy (1 Token = R1 Utility)
Tokens are strictly non-extractive and cannot be gambled or cashed out into fiat by users. They exist solely inside the football ecosystem to fund verified team needs (boots, match balls, kit, transport) and pay tournament entry fees. Every token sent is immutably logged to the public team ledger.
2. The Three Connected Personas
🪙 The Community Supporter (Fan): Fans browse neighborhood tournaments, view local club needs, and purchase token bundles (50, 150, 350, or 750 tokens) in seconds using Apple Pay or Google Pay via RevenueCat consumable in-app purchases. Fans can fund a team’s match balls or tournament entry fee with a single tap, receiving instant social recognition on the team’s public wall.
🛡️ The Team Captain / Club Manager: Captains manage squads, track player stats, and access the Community Bank. Subscribing to Team Pro (R99/month) unlocks the team’s community treasury, enables publishing target fundraising requests, and allows the club to pay tournament registration fees 100% cashless using community-raised tokens.
👑 The Tournament Organizer: Organizers configure tournaments with GPS ground detection, dynamic bracket sizing (8, 16, or 32 teams), and WhatsApp communication. Organizers host their first tournament for free to seed community adoption. When launching subsequent cups, RevenueCat entitlement gating prompts the Organizer Pro (R99/month) paywall, unlocking unlimited hosting, live match scorecasting, and featured tournament discovery.
🛠️ How We Built It
SameLine is built from the ground up as a native mobile application prioritizing offline durability, lightning-fast discovery, and bank-grade security:
Mobile Client & Frontend
- Expo SDK 52 & React Native (v0.76): File-based navigation via Expo Router v4, providing smooth native navigation and responsive layouts tailored for modern smartphones.
- TypeScript (Strict Mode): Type-safe interfaces across the entire codebase, from Supabase schemas to RevenueCat package offerings.
- Zustand & TanStack React Query v5: Zero-latency client state management for role switching, paired with aggressive background query caching and optimistic UI updates for matchday score updates and wallet transactions.
- Expo Location & PostGIS: Pitch geo-tagging with distance radius filtering (finding tournaments within 5km, 10km, or 20km of the user’s township).
Monetization Engine (RevenueCat)
react-native-purchases&react-native-purchases-ui:- Consumable In-App Purchases: Token packs (
sameline_tokens_50,sameline_tokens_150,sameline_tokens_350,sameline_tokens_750) enabling seamless micro-transactions via native App Store / Google Play billing without complex local gateway integrations. - Multi-Tier Subscriptions & Entitlements: Dual distinct entitlement streams:
team_pro: Grants Community Bank treasury access, need publishing, and token-based registrations.organizer_pro: Grants unlimited tournament creation, real-time score updates, and priority ranking.- Dynamic Paywall Architecture: Custom paywall presentations tailored dynamically to the user's active role (Captain vs. Organizer vs. Fan).
- Consumable In-App Purchases: Token packs (
Backend & Cloud Infrastructure
- Supabase (PostgreSQL 15): Relational data model managing teams, players, tournaments, brackets, and audit ledgers.
- Row-Level Security (RLS): Strict multi-tenant security policies guaranteeing that only team captains can disburse team bank tokens and only organizers can modify fixture scores.
- Atomic Database Functions & Triggers: PostgreSQL functions for zero-loss token transfers, row-locking triggers on tournament join approvals to prevent over-subscription beyond bracket caps (
team_count <= max_teams), and balance integrity checks (balance >= 0). - Supabase Edge Functions (Deno Runtime): Serverless webhook handler verifying incoming RevenueCat lifecycle events (
INITIAL_PURCHASE,RENEWAL,CANCELLATION,EXPIRATION) using cryptographic signature headers to synchronize user entitlement states.
🥊 Challenges We Ran Into
Reconciling App Store Guidelines with Grassroots Micro-Financing: Designing an in-app currency for township teams without triggering remittance or gambling classifications required rigorous architecture. We designed SameLine's tokens strictly as closed-loop digital utility tokens (1 Token = R1 of football service value within the app ecosystem). Tokens never cash out to arbitrary bank accounts—they only settle verified team expenses and cup registrations.
Managing Multi-Role Paywalls & Entitlement Gating: Most subscription apps have a single paywall funnel. SameLine serves three distinct user personas with fundamentally different motivations. An organizer should never see team kits, and a captain should not be asked to pay organizer hosting fees. We designed a role-aware entitlement routing system that checks RevenueCat customer entitlements and contextually renders either the
team_propaywall, theorganizer_propaywall, or the token store sheet without UX friction.High-Stakes Matchday Race Conditions: When a popular tournament with a R10,000 prize pool opens registrations, the final bracket slots fill within minutes. To prevent race conditions where two captains pay their tokens simultaneously for the 16th and final tournament slot, we engineered Postgres row-level locks and transactional triggers in Supabase that atomically verify remaining slot capacity before deducting wallet tokens.
Intermittent Connectivity on Township Pitches: Township football grounds frequently suffer from congested or degraded cellular signals. Building an app that relies on financial transactions and live scores in poor-connectivity environments forced us to implement resilient optimistic client updates, offline request queuing, and automatic retry policies for token transactions.
Cross-Platform Expo Native Testing: Configuring native in-app billing across both iOS and Android sandbox environments using modern Expo SDK 52 required setting up EAS Development builds with custom native schemes, while maintaining a clean mock simulation layer for seamless web reviews.
🏆 Accomplishments That We're Proud Of
- Dismantling the Cash Paradox: We built a working, elegant software solution that directly addresses safety and economic exclusion in South Africa's largest grassroots sporting community.
- Unified RevenueCat Dual Model: Successfully orchestrated both consumable micro-purchases (token liquidity) and recurring SaaS subscriptions (club & organizer tiers) in one cohesive mobile app.
- Instant Role-Switching Engine: Built a dummy/demo account switcher allowing anyone to experience the full end-to-end flywheel—from Thabo (Supporter purchasing tokens) to Sipho (Captain paying tournament fees with tokens) to Jabu (Organizer managing fixtures)—in under three minutes.
- PostGIS Township Discovery: Teams and fans can instantly filter tournaments by exact township coordinates and distance radiuses, bridging hyper-local geography with digital discovery.
- Radical Financial Transparency: Every token contributed towards a set of match balls or transport is permanently broadcast to the team's public feed, restoring community trust and accountability.
📚 What We Learned
- Monetization as a Catalyst for Trust: We realized that app store in-app purchases and subscriptions are not merely revenue tools; in informal emerging economies, they provide safety, predictability, and fraud prevention that cash-based systems cannot match.
- The Power of RevenueCat Entitlements: Decoupling app logic from store-specific transaction receipts via RevenueCat’s entitlement layer dramatically accelerated our development velocity. Managing multiple subscription tiers alongside consumables became clean, declarative, and maintainable.
- Cultural Context Trumps Generic SaaS: Generic sports management apps built for European or American suburban soccer leagues fail in African townships because they assume bank accounts, card payments, and stable Wi-Fi. Designing for the township requires empathy for cash friction, WhatsApp-first communication, and communal pride.
🚀 What's Next for SameLine
- Live Pilot Deployment: Launching initial field pilots across 5 major Gauteng townships (Katlehong, Vosloorus, Thokoza, Daveyton, and Soweto) targeting 50+ active weekend tournaments and 200+ amateur clubs.
- Referee Matchday Companion: A lightweight, offline-first referee scoring module allowing officials to record goals, cards, and shootouts with a single thumb, broadcasting live commentary to the community feed whenever a connection is established.
- Local Merchant Partner Network: Enabling teams to redeem funded tokens directly with vetted local sports retailers for certified kit, match balls, and player transport syndicates.
- Scouting & Prodigy Showcase: Integrating verified video clip reels and tournament MVP badges into player profiles, giving young township prodigies direct visibility with scouts and Premier Soccer League (PSL) professional academies.
Built With
- react
- react-native
- revenuecat
Log in or sign up for Devpost to join the conversation.