Erik's Army — Soccer Match Chat App
Stellar Ideas LLC (first-party product) · Sports / Social
The Challenge
Most online soccer conversation is scattered and noisy — buried in giant subreddits, lost in fast-moving group chats, or drowned out by politics and spam. There was no clean, focused place to talk about the match you’re actually watching, right now.
Erik’s Army is our answer, and our own product: a mobile app where fans gather per match to talk players, referees, and bad calls — old school, no politics, no BS, just the football. Unlike a client engagement, we owned every decision here, from the brand to the backend to the App Store listing. The goal was a product that:
- Anchors every conversation to a specific match and topic, so rooms stay focused
- Keeps the tone clean and low-toxicity through light-touch curation and real moderation
- Shows today’s fixtures and live scores across the major leagues at a glance
- Feels premium and fast on both iOS and Android from a single codebase
- Runs on a serverless backend that scales to zero between matches and spikes on a Champions League night
- Survives the full gauntlet of Apple and Google review, including in-app purchases
Our Approach
We built Erik’s Army as a dark, “match-night” experience drawn straight from the logo: a deep navy background with a bold red accent for live matches and calls-to-action, white text, and a gold highlight reserved for premium members and top chatters. Centralizing the palette and spacing in a single design-token file means the whole app can be restyled from one place.
We deliberately started with a thin, end-to-end “walking skeleton” — sign-in through today’s matches through a live chat room — and then filled it out feature by feature, rather than building any one layer in isolation.

Key decisions:
- One codebase, two platforms — React Native via Expo with TypeScript and file-based routing, so iOS and Android ship from the same source with native performance
- Match-first navigation — a “Today” screen lists every fixture across supported leagues with live score and minute, league tabs filter to one competition, and each match opens to topic categories and a preview of the liveliest rooms
- Curation as a feature, not an afterthought — fixed topic categories (Players, Referees, Bad Calls) plus admin-hosted rooms keep conversation on-topic, backed by report, block, and admin moderation tools
- Monetization without friction — a multi-plan premium tier (monthly and yearly) with native in-app purchases unlocks perks like top-chatter placement and badges
- Growth built in — onboarding, a global leaderboard, league standings, and push notifications for kickoffs and heating-up rooms give fans reasons to come back
Technical Details
The stack was chosen to ship one codebase to both stores on a backend that costs almost nothing when no one is watching a match:
- Mobile app: React Native 0.85 on Expo (SDK 56) with React 19 and TypeScript, Expo Router for file-based navigation, typed routes, and the React Compiler enabled; smooth gestures and animation via Reanimated
- Authentication: AWS Cognito with federated sign-in for Apple, Google, and Facebook — with Sign in with Apple included as Apple requires when other social logins are offered — and tokens stored in the device secure store
- Real-time chat: AWS AppSync (GraphQL subscriptions over managed WebSockets) for live messages and online counts, with a single-table DynamoDB data model designed so hot rooms can migrate to a dedicated fan-out layer without a rewrite
- Backend & business logic: AWS Lambda resolvers behind AppSync, deployed as infrastructure-as-code with the AWS CDK
- Media: Amazon S3 and CloudFront for logos and user avatars, with in-app image picking for profile photos
- In-app purchases: RevenueCat (
react-native-purchases) bridging Apple In-App Purchase and Google Play Billing for the premium subscription plans - Push notifications: Expo Notifications wired to per-user preferences for kickoff, goal, and room-activity alerts
- Analytics: PostHog for product analytics and funnel tracking
- Deep linking: Verified universal links (iOS) and Android App Links to a custom domain, so shared match links open straight into the app
- Release engineering: EAS Build and Submit with separate preview and production profiles, over-the-air updates via Expo Updates, and a documented launch-day runbook and device-QA checklist
We also did the unglamorous work that ships products: scrubbing protected tournament trademarks in favor of neutral branding, preparing store listings and release notes, standing up a dedicated reviewer demo account, and keeping every real credential — the Apple signing key, federation secrets, and Firebase service-account key — out of source control.
Results
Erik’s Army is live — a Stellar Ideas LLC app built end to end, from the first design token to a shipped product on Apple’s App Store, with the Android release in review on Google Play:
- Launched on iOS — approved by Apple and live on the App Store, with the Google Play release following close behind
- Genuinely cross-platform — a single React Native codebase producing native iOS and Android builds
- Real-time by design — live match chat, online counts, and leaderboards on managed, serverless infrastructure
- Built to scale with the moment — a backend that idles cheaply between matches and a data model ready for the spikes of a big match night
- Monetized from day one — multi-plan in-app subscriptions wired through Apple’s billing system, with Google Play billing ready for the Android launch
The app gives Stellar Ideas LLC its own flagship mobile product — proof that we don’t just build software for clients, we design, ship, and operate our own.
Download Erik’s Army on the App Store — coming soon to Google Play. Learn more at eriksarmy.stellarideasllc.com.
